Saya menggunakan cat
untuk mem-pipe file yang berbeda menjadi satu file besar. Jumlah file yang berbeda bervariasi, dari dua file hingga sepuluh, tetapi ukuran total semua file selalu sama (beberapa GB).
Masalah saya: Setiap kali saya sampai pada kasus di mana saya memiliki total enam file, waktu yang diperlukan untuk menggabungkannya mencapai puncak (yaitu lebih dari lima atau tujuh), dan saya tidak tahu mengapa.
Adakah yang punya ide?
File-file (semua ukuran yang sama)
output
outputTEMP1
outputTEMP2
outputTEMP3
outputTEMP4
outputTEMP5
Perintah
cat outputTEMP* >> output && rm -f outputTEMP*
Saat ini, Mesin harus melakukan beberapa perhitungan, tetapi saya akan memperbarui nanti ketika pengukuran baru tersedia.
linux
performance
brandstaetter
sumber
sumber
Jawaban:
Salah satu cara untuk men-debug masalah ini adalah dengan menggunakan strace.
Opsi -tt mencatat cap waktu panggilan sistem ke resolusi mili-detik. -e trace = buka, tutup log saja buka, tutup API. Coba hapus dan Anda akan melihat file log yang sangat bising.
sumber
Jadi komentar Davides tepat. Kami membutuhkan dua hal di sini, untuk melakukan penilaian yang akurat:
Dengan asumsi Anda memiliki ruang disk saya akan menjelaskan skenario pengujian yang akan lebih akurat menentukan apakah ini masalah nyata. Jika demikian, bukti pendukung dari pendekatan ini AKAN membantu pengembang untuk mengetahui itu nyata dan dapat mereproduksi itu.
Untuk membantu dengan isolasi masalah jangan lakukan bagian rm di sini sama sekali. biarkan file TEMP duduk setelahnya. Anda kemudian dapat mengulangi pengujian dengan melakukan bagian 'rm' nanti, jika diinginkan.
Inilah skenario pengujian:
gunakan perintah waktu seperti ini:
waktu (cat outputTEMP * >> output)
Tangkap angka nyata, pengguna, dan sistem yang dilaporkan untuk setiap tes yang Anda jalankan.
Saya setuju dengan Reynolds; jika ini nyata, Anda harus mengirim email detail ke [email protected].
sumber