% cpu individu dalam output 'atas'

10

Biasanya untuk melihat cpu individu% kami menekan '1' dalam mode interaktif atas.

Namun saya tidak dapat menemukan logika untuk mendapatkan output yang sama dalam mode batch yaitu,

top -n1b

Saya mengarahkan output ini ke file untuk melihatnya nanti dan hal-hal seperti itu, jadi saya perlu mode batch. Apa itu mungkin? Menginstal alat terpisah untuk ini tidak mungkin dilakukan.

Saya mencari opsi yang saya lewatkan atau beberapa cara untuk menangkap output.

Uday
sumber

Jawaban:

7

Di atas interaktif, beralih ke CPU individu% dengan mengetik 1, lalu tulis konfigurasi saat ini ke file dengan mengetik W. Ini akan membuat ~/.toprc. Sekarang, top -n1bakan menghasilkan% per-CPU juga. Anda mungkin perlu menyalin .toprcfile dan mengubah izin jika skrip Anda berjalan sebagai pengguna yang berbeda.

jwhitlock
sumber
1
Q meminta mode batch.
Charles Stewart
2
Saya akan mencoba untuk menjadi lebih jelas: Saya tahu tidak ada cara pada baris perintah untuk memberi tahu atas "ketika Anda dalam mode batch, cetak cpu% individu". Namun, top tidak membaca .toprcdalam mode batch, sehingga Anda dapat mensetup file itu seperti yang saya jelaskan, dan kemudian Anda akan mendapatkan cpu% individual dalam mode batch juga. Atau, setidaknya itu berlaku untuk saya (procps versi 3.2.7)
jwhitlock
haruskah demikian top? Mengapa tidak menggunakan psdan mengurutkan pada% CPU? Saya menemukan% CPU bahkan menyesatkan, saya cenderung mengurutkan pada VSIZE atau RSS, karena sering kali apa yang mengetuk server saya adalah hog memori jahat.
memnoch_proxy
5

Apakah harus di atas? Mungkin Anda perlu mpstat

  mpstat -A
Dan Andreatta
sumber
1

Ini semacam peretasan tetapi tampaknya berhasil:

$ ssh local.ubuntu.server "(sleep 1;echo 1)|TERM=xterm script -c top & sleep 2;killall script"|grep '^%Cpu'
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.1 st
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
Lab AX
sumber
0

Saya tidak tahu cara yang tepat untuk melakukan ini dengan top procutils; mungkin echo k|top -n2 -d1.0triknya? Perhatikan bahwa output pertama dari top tidak akan memberi Anda informasi bermanfaat tentang penggunaan cpu%: top only mencoba untuk memperkirakan cpu% sejak mulai berjalan. Karena itu -n2. Anda dapat membatasi daftar statistik kedua dengan membuang semuanya hingga baris kosong kedua.

Dengan bagian atas BSD, top -l2 -s1 -o cpuakan (diuji) mencetak statistik teratas dua kali, dipesan dengan cpu%. Kalau-kalau ada BSD top mengintai tentang sistem Anda ...

Charles Stewart
sumber
0

Anda bisa menggunakan di atas. Ini adalah monitor yang sangat komprehensif, di mana Anda dapat memantau proses serta sumber daya sistem seperti memori dan CPU. Ini memberikan output individual untuk setiap inti CPU.

Untuk sistem ubuntu, tersedia sebagai paket di repo, sehingga Anda dapat langsung menginstalnya melalui apt-get / synaptic.

Untuk Redhat dan sistem turunannya, Anda dapat menemukan paket di sini: http://dag.wieers.com/rpm/packages/atop/

s1d
sumber