Saya akan mencari tahu mengapa kita mendapatkan peringatan swap kritis, dan saya akan menemukan sesuatu seperti:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ SWAP COMMAND
14683 user1 30 10 16.0g 772m 744 S 0.3 0.3 277:24.87 6.5g MATLAB
14576 user1 30 10 8125m 1.1g 736 S 0.3 0.4 261:16.73 4.1g MATLAB
di mana kolom TIME + dibekukan untuk proses tersebut.
Pertanyaan saya adalah, di atas, apa artinya ini?
Seperti yang saya pahami, stop time berarti proses yang tidak aktif / tidak sedang diproses oleh CPU. Namun contoh di atas menunjukkan penggunaan CPU 0,3%, jadi meskipun faktanya sangat kecil, bukankah kolom waktu terus bertambah?
Apakah proses ini "selesai"? Dalam hal apa, bagaimana mereka dibersihkan? Apakah pengguna yang memulai mereka perlu mengakuinya atau sesuatu agar sumber daya itu dibebaskan?
Jawaban:
Jika Anda menjalankan pekerjaan palsu seperti
sleep 120
dan kemudian menontonnya dihtop
Anda akan melihat bahwa negara ituS
alias "TIDUR" dan prosesnyaTIME
tetap pada 0: 00.00 selama durasi.Itu karena proses itu memakan waktu 0 CPU, yang merupakan maksud dari
TIME
kolom. Ini melacak jumlah waktu CPU proses yang digunakan telah digunakan.Hitungan ini kadang-kadang membingungkan jika suatu proses dapat berjalan pada banyak inti CPU, karena tampaknya dapat menghabiskan lebih banyak waktu daripada yang tersedia. Semua yang terjadi di sana adalah bahwa jika Anda memiliki jumlah inti X, maka waktu Anda dapat muncul sebagai X * WAKTU.
sumber
Alasan Anda mungkin mendapatkan disparitas seperti itu adalah karena kolom TIME + tidak memperhitungkan waktu CPU yang digunakan oleh anak-anak yang telah mati dari proses yang terdaftar .. Jadi, saya membayangkan garis yang Anda tampilkan menunjukkan aplikasi yang (mungkin, cepat) menelurkan anak-anak yang sekarat segera ..
So, the CPU usage is due to spawned children which do not count in the TIME+ column.
Anda dapat mengubah atas untuk melakukan waktu kumulatif melalui sakelar 'S'.Tapi saya pikir Anda melihat indikator yang salah untuk apa yang ingin Anda selidiki.
strace -p <pid>
adalah teman Anda di sini, dan akan memungkinkan Anda mengintip ke dalam proses yang sedang berjalan dan apa yang sebenarnya dilakukannya.Strace mengambil segudang opsi. beberapa opsi penting termasuk -f, -ff, -i, v, dll. Strace adalah alat yang paling berguna, jadi paling baik untuk melakukan
man strace
dan mencari sendiri pada opsi yang diberikannya untuk mengatasi masalah seperti inisumber