Bagaimana cara menemukan ukuran memori penduduk dari suatu proses di busybox?

14

Saya berjalan topdi busybox dan itu menunjukkan semua proses dan ukuran memori virtual mereka.

Bagaimana cara menentukan berapa banyak RAM yang digunakan oleh setiap proses?

Collin Anderson
sumber

Jawaban:

16

Di busybox, "ps" tidak memiliki opsi "-o", tetapi "ps l" termasuk kolom RSS.

Jika O / S yang mendasarinya adalah Linux, Anda juga bisa mendapatkan detail yang lebih spesifik untuk proses yang diberikan dari:

cat /proc/PID/status

Outputnya terlihat seperti ini:

Nama: abu
Negara: S (sedang tidur)
Tgid: 1990
Pid: 1990
PPid: 1
TracerPid: 0
Uid: 0 0 0 0
Gid: 0 0 0 0
FDSize: 32
Grup: 0 
VmPeak: 1592 kB
VmUkuran: 1592 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 552 kB
VmRSS: 552 kB
VmData: 268 kB
VmStk: 136 kB
VmExe: 688 kB
VmLib: 472 kB
VmPTE: 16 kB
VmSwap: 0 kB
Thread: 1
SigQ: 14/340
SigPnd: 0000000000000000000000000000000000
ShdPnd: 0000000000000000000000000000000000
SigBlk: 0000000000000000000000000000000000
SigIgn: 00000000000000000000000004804004
SigCgt: 00000000000000000000000000080002
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: fffffffffffffff
CapBnd: ffffffffffffffff
Cpus_allowed: 1
Cpus_allowed_list: 0
voluntary_ctxt_switches: 49
nonvoluntary_ctxt_switches: 15

Dalam daftar ini, VmRSS adalah hunian residen saat ini, dan VmHWM adalah hunian high-water resident.

Andrew Fullford
sumber
BusyBox pstelah mendukung -osejak 2006 , tetapi perlu dibangun dengan opsi build "DESKTOP".
JdeBP
12
ps -o pid,user,vsz,rss,comm,args

Kolom ke-4 (rss) adalah ukuran yang ditetapkan penduduk, memori fisik non-swapping yang digunakan oleh tugas, dalam kiloBytes.

nemoinis
sumber
tidak ada bendera -o di busybox ps
Chad G
Ada jika itu dibangun untuk memilikinya. Lihat jawaban Andrew Fullford.
JdeBP
-1
 ps -q pid -o rss= 

ini seharusnya bekerja

abhiraj
sumber
2
Silakan tambahkan platform apa yang Anda jalankan. Saya pstidak punya -qpilihan dan saya menjalankan suse linux.
Sman865
1
Tampaknya bahwa versi busybox dari ps(terbaru komit 4e08a12 dari Januari 2017) tidak memiliki pilihan itu baik.
AdminBee
-qpidlist Pilih dengan PID (mode cepat). Ini memilih proses yang nomor proses ID-nya muncul di pidlist. Dengan opsi ini ps membaca info yang diperlukan hanya untuk pids yang tercantum dalam pidlist dan tidak menerapkan aturan penyaringan tambahan. Urutan pids tidak disortir dan diawetkan. Tidak ada opsi pemilihan tambahan, daftar sortir dan tipe hutan diizinkan dalam mode ini. Identik dengan q dan --quick-pid.
Kevdog777
@ Kevdog777 dapatkah Anda menentukan platform apa yang diimplementasikan? Tampaknya tidak menjadi persyaratan POSIX . Selain itu, OP secara eksplisit bertanya tentang lingkungan busybox ...
AdminBee
Maaf @AdminBee, saya menemukan itu di sini: man7.org/linux/man-pages/man1/ps.1.html karena orang tidak tahu apa -qartinya. Begitulah katanya Linux.
Kevdog777