Bagaimana cara menginterpretasikan busybox "top" output?

8

Saya menggunakan BusyBox pada sistem ARM tertanam kecil. Saya mencoba membaca keluaran "atas", khususnya untuk proses Python yang terdaftar. Berapa banyak memori nyata yang digunakan proses ini? Juga untuk apa VSZ berdiri? Sistem ini hanya memiliki 64MB RAM.

Mem: 41444K digunakan, 20572K gratis, 0K shrd, 0K buff, 18728K di-cache
CPU: 3% usr 3% sys 0% nic 92% idle 0% io 0% irq 0% sirq
Rata-rata beban: 0,00 0,04 0,05 1/112 31667
  PID PPID STATUS PENGGUNA VSZ% VSZ% CPU COMMAND
  777 775 python S 146m 241% 3% / usr / bin / python -u - dpdsrv.py
SeanLabs
sumber

Jawaban:

4

VSZ(atau VIRT, tergantung pada versi top) adalah jumlah memori yang dipetakan ke dalam ruang alamat proses. Ini termasuk halaman yang didukung oleh file yang dapat dieksekusi proses dan perpustakaan bersama, tumpukan dan tumpukannya, serta apa pun yang telah dipetakan.

Dalam kasus output sampel yang Anda tunjukkan, ukuran virtual lebih besar daripada jumlah memori fisik pada sistem, jadi tentu saja sebagian (sebagian besar!) Halaman dalam ruang alamat proses tidak secara fisik hadir dalam RAM. Itu bukan masalah: banyak program berisi sejumlah besar kode dan memetakan banyak pustaka bersama tetapi mereka hanya benar-benar menggunakan bagian tertentu dari kode itu, atau setidaknya hanya menggunakan bagian tertentu dari kode pada saat yang sama, yang memungkinkan kernel untuk turun bagian yang tidak terpakai dari memori setiap kali mereka tidak digunakan, atau bahkan untuk tidak pernah memuatnya di tempat pertama.

Versi Anda toptampaknya tidak memperlihatkan RESkolom, yang akan memberi tahu Anda berapa banyak memori dalam ruang alamat proses yang saat ini ada dalam RAM.

Celada
sumber