Jika saya menjalankan top -c
atau htop
saya mendapatkan proses dengan konsumsi memori mereka, tetapi bukan itu yang ingin saya lihat.
Apakah ada baris perintah yang memungkinkan untuk melihat konsumsi RAM dari aplikasi yang diberikan?
Sebagai contoh, saya ingin melihat konsumsi RAM server web Apache (bukan dengan memeriksa semua proses yang dijalankannya)
10
Jawaban:
Ada penjelasan rinci yang sangat bagus di sini: https://blogs.kde.org/2005/09/15/measuring-memory-usage
Tetapi pada dasarnya: Anda harus benar-benar menggali dan memahami bagaimana aplikasi diatur.
Jadi misalnya, melihat mysql:
Total memori yang digunakan adalah sekitar 25 MB (Ambil RES 27 MB dan kurangi shared (SHR))
Saya memvalidasi ini dengan memeriksa total penggunaan memori (free -m, + / buffer / cache) sebelum dan setelah mengeluarkan "killall mysqld". Setelah membunuh semua proses mysqld, penggunaan memori turun 25 MB menurut "free -m".
Jika Anda melihat bahwa setiap proses memiliki kolom VIRT, RES, dan SHR yang identik, mereka mungkin hanya ulir dari proses yang sama. (Pustaka Linux lama menangani threading dengan menelurkan beberapa proses nyata yang pada dasarnya menempati memori yang sama)
Jika mereka berbeda, Anda mungkin dapat memperkirakannya dengan melakukan SUM (RES - SHR). Tetapi itu hanya bekerja jika proses-proses tersebut pada kenyataannya merupakan proses yang terpisah dan bukan hanya benang dari proses yang sama. Melihat PPID (Induk Proses ID) juga membantu. Jika mereka semua memiliki orang tua yang sama, mereka mungkin hanya utas (Meskipun tidak harus).
Sayangnya tidak ada cara mudah yang sangat baik untuk menjawab ini di Linux. Satu-satunya cara mudah adalah memeriksa "bebas" segera sebelum menghentikan proses dan memeriksanya kembali segera setelah itu. lihat baris "- / + buffer / cache:" dan lihat seberapa banyak penggunaan memori menurun dan itu akan memberi tahu Anda berapa banyak yang digunakan.
sumber
Dengan sedikit bantuan dari
man ps
dan jawaban yang bagus ini ...Sebagai contoh:
Cara lain:
Ini dapat dijalankan tanpa
-x
dantail -1
:hanya menunjukkan persentase:
Selain itu, saat menggunakan
top
Anda dapat menekan iuntuk mengabaikan proses idle / zombie untuk membuatnya lebih mudah dibaca:sumber
pmap
menunjukkan banyak hal tentang sumber daya yang menggunakan PID. Informasi ini diberikan berdasarkan nama proses dan PID yang ditemukan menggunakan itupidof
, jadi proses utama ditampilkan jika nama apa pun yang Anda berikan (saya pikir, tidak tahu apakah itu merujuk kembali ke proses induk)