Cara mengetahui berapa banyak memori yang digunakan suatu program


8

Saya menggunakan htop untuk menonton proses saya, tetapi sebagian besar layanan yang dijalankan adalah multi-threaded, jadi mereka ditampilkan pada beberapa baris dengan% dari penggunaan memori yang dalam beberapa kasus sama untuk semua, kadang-kadang bervariasi di antara mereka.

Katakanlah dalam kasus Firefox, ia dapat mendaftar 15 proses yang masing-masing menghabiskan 13% memori.

Dapatkah saya tahu bahwa banyak memori adalah Firefox, MySQL, beberapa skrip fcgi atau apa pun yang dikonsumsi? karena output htop tampaknya menyesatkan.

Jawaban:


6

Sebagian besar implementasi teratas memiliki cara untuk menghidupkan atau mematikan tampilan utas.

  • htop: di menu "Setup / Display options", "Sembunyikan utas pengguna".
  • Linux top: tekan Huntuk beralih menampilkan utas (tapi secara default tidak aktif).
  • Atas OpenBSD: tekan Tuntuk mengganti tampilan utas (tetapi secara default tidak aktif).

Perhatikan bahwa pemetaan memori, dan karenanya pekerjaan memori, adalah properti dari suatu proses, sehingga Anda akan selalu melihat angka yang sama untuk setiap utas dalam suatu proses. Jika Anda melihat angka yang berbeda, itu berarti ada beberapa proses.

Tidak ada cara mudah untuk mengetahui konsumsi memori total dari serangkaian proses karena konsepnya tidak didefinisikan dengan baik. Sebagian memori mungkin dibagikan; ini terjadi setiap saat dengan pustaka bersama, dan di samping itu proses terkait (seperti beberapa contoh server) lebih cenderung menggunakan memori bersama untuk bertukar data. Jika Anda hanya menambahkan angka, Anda akan sering mendapatkan angka yang jauh lebih besar dari memori yang digunakan sebenarnya.


1
Saya tidak menyadari bahwa konsep memori proses tidak didefinisikan dengan baik, saya pikir itulah yang membuat semuanya lebih masuk akal. Terima kasih
Jjdelc

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.