Saya ingin memantau proses dari cangkang cygwin, menggunakan varian teratas. Alasan untuk ini adalah pelaporan waktu nyata dan pembaruan konstan. Namun di bawah cygwin, top tidak akan melaporkan proses windows.
Forum yang saya rekomendasikan untuk digunakan ps -W
sebagai alternatif, tetapi ini jelas memiliki kekurangan tidak lagi memberi saya informasi waktu nyata, tetapi hanya foto statis setiap kali saya mengetik perintah.
Apakah ada cara untuk mulai top
bekerja di cygwin untuk menampilkan semua proses saya dan bukan hanya proses cygwin?
top
), coba Process ExplorerJawaban:
Dari bash shell, Anda dapat memantau semua proses windows dengan baris perintah ini:
Untuk melihat semua proses java, misalnya:
Perhatikan bahwa "ps -W" mencantumkan proses cygwin dan non-cygwin.
sumber
ps -W
ataups --windows
bekerja, lihatps --help
Anda harus menginstal pustaka procps untuk cygwin, ini termasuk program teratas, namun itu hanya akan mendaftar proses yang berjalan di cygwin. Jika Anda ingin melihat semua proses berjalan di windows, lihat jawaban ini: /programming/3503681/cygwin-top-command-see-processes-for-all-users
sumber
Tampaknya Anda dapat melakukan sesuatu seperti:
Mode Pengguna dan Kernel kali di sana tampaknya dinyatakan dalam 1 / 10.000.000 detik.
Anda harus dapat memposting-proses output itu untuk mendapatkan penggunaan CPU per detik.
Di sini menggunakan cygwin
perl
:Menghasilkan sesuatu seperti:
setiap detik.
Perhatikan bahwa jika System Idle Process menunjukkan kurang dari 800% pada sistem idle, itu karena sistem Anda memiliki 8 core CPU (setidaknya 8 thread) yang menghitung waktu CPU dari semua CPU.
Perhatikan juga bahwa di
EVERY:1
atas adalah dusta.wmic
tampaknya tidak memberikan output setiap detik. Kemungkinan besar, itu tidur sekitar 1 detik antara setiap laporan dan tidak mengkompensasi waktu yang diperlukan untuk menghitung laporan. Jadi dalam praktiknya, ini akan berjalan setiap 1 detik dan sedikit yang berarti persentase tersebut tidak terlalu akurat dan sedikit berlebihan.sumber