Cara Memeriksa Penggunaan Memori Per Proses di Linux

How Check Memory Usage Per Process Linux



Saat ini, komputer dapat menjalankan banyak program sekaligus. CPU tidak memiliki masalah dalam menangani semua program ini karena CPU memiliki banyak inti untuk menangani multi-tasking.

Masing-masing program ini berjalan sebagai satu atau lebih proses. Setiap proses mengalokasikan sejumlah RAM atau memori untuk dirinya sendiri. Hal ini penting agar proses berfungsi dengan benar. Jika suatu proses gagal mengalokasikan cukup RAM atau memori, maka proses tersebut tidak dapat dibuat dan program tidak akan dapat dimulai.







Jadi, salah satu tugas dasar yang Anda lakukan di komputer Anda adalah memeriksa berapa banyak memori atau RAM (Random Access Memory) yang digunakan setiap proses. Sebab, RAM atau memori komputer Anda terbatas.



Bayangkan sebuah kasus, di mana Anda ingin menjalankan beberapa program dan gagal karena Anda tidak memiliki cukup memori. Mungkin beberapa proses menggunakan banyak memori yang tidak Anda butuhkan saat ini. Anda dapat mematikan atau menghentikan proses ini untuk mengosongkan RAM atau memori, sehingga Anda dapat memulai program penting Anda.



Pada artikel ini, saya akan menunjukkan cara memeriksa penggunaan memori dari setiap proses yang berjalan di mesin Linux Anda. Saya akan menggunakan Debian 9 Stretch untuk semua demonstrasi di artikel ini. Tapi itu harus bekerja pada semua distribusi Linux modern. Mari kita mulai.





Anda dapat menggunakan ps perintah untuk memeriksa penggunaan memori dari semua proses di Linux. Ada satu masalah dengan prosedur ini. ps tidak benar-benar menunjukkan kepada Anda berapa banyak memori yang digunakan suatu proses dalam format KB atau MB, tetapi ini akan menunjukkan kepada Anda berapa banyak memori yang digunakan dalam persentase.

Anda dapat memeriksa penggunaan memori (dalam persentase) dari semua proses yang berjalan di sistem operasi Linux Anda dengan perintah berikut:



$ps -ataupid, pengguna,%meme,memerintahkapak| menyortir -B -k3 -R

Seperti yang Anda lihat, semua proses dengan penggunaan memori dalam persentase tercantum dalam urutan menurun (Proses yang menggunakan sebagian besar memori dicantumkan terlebih dahulu).

Memeriksa Penggunaan Memori Proses dengan pmap:

Anda dapat memeriksa memori suatu proses atau serangkaian proses dalam format yang dapat dibaca manusia (dalam KB atau kilobyte) dengan pmap memerintah. Yang Anda butuhkan hanyalah PID dari proses yang ingin Anda periksa penggunaan memorinya.

Katakanlah, Anda ingin memeriksa berapa banyak memori yang digunakan proses dengan PID 917. Untuk melakukan itu, lari pmap sebagai berikut:

$sudopmap917

Seperti yang Anda lihat, total memori yang digunakan oleh proses 917 adalah 516104 KB atau kilobyte. Anda juga dapat melihat berapa banyak memori yang digunakan perpustakaan dan file lain yang diperlukan untuk menjalankan proses dengan PID 917 di sini.

Jika Anda tidak peduli dengan berapa banyak memori yang digunakan perpustakaan atau file dependen lainnya, jalankan pmap sebagai berikut:

$sudopmap917 | ekor -n 1

Seperti yang Anda lihat, hanya total memori yang digunakan oleh proses dengan PID 917 yang tercetak di layar.

Jika mau, Anda dapat memfilter ini lebih lanjut dengan awk dan dapatkan hanya ukuran dalam KB atau kilobyte. Untuk melakukan itu, lari pmap sebagai berikut:

$sudopmap917 | ekor -n 1 | awk '/ [0-9] K / {cetak $2}'

Seperti yang Anda lihat, hanya penggunaan memori dalam KB atau kilobyte yang dicetak.

Sekarang Anda juga dapat membuat daftar berapa banyak memori yang digunakan oleh banyak proses menggunakan PID mereka dengan pmap sebagai berikut:

$sudopmap917 531 | pegangantotal

CATATAN: Di sini 917 dan 531 adalah ID proses atau PID. Anda dapat menempatkan PID sebanyak yang Anda inginkan dengan cara ini.

Menggunakan pmap untuk Mendaftar Penggunaan Memori dari Semua Proses dalam Kilobyte:

Di bagian ini, saya akan menunjukkan kepada Anda cara menulis skrip shell Anda sendiri untuk mencantumkan penggunaan memori dari semua proses yang berjalan di sistem operasi Linux Anda dalam format yang dapat dibaca manusia (kilobyte atau KB).

Pertama buat file baru sysmon di direktori kerja Anda saat ini dengan perintah berikut:

$menyentuhsysmon

Sekarang buat file tersebut dapat dieksekusi dengan perintah berikut:

$chmod+x sistem

sysmon adalah skrip shell yang akan menampilkan semua proses yang sedang berjalan PID , PEMILIK , PENYIMPANAN (dalam KB dalam urutan menurun) dan MEMERINTAH . Ayo mulai.

Buka sysmon skrip dengan editor teks favorit Anda, saya akan menggunakan Kate .

Sekarang, perintah pertama yang akan saya jalankan akan memberi saya PID , PEMILIK dan MEMERINTAH dari semua proses yang berjalan dipisahkan oleh simbol titik dua (:) dan menyimpannya di RAWIN variabel. Kemudian loop melalui output dan cetak di layar.

Seperti yang Anda lihat, saya mendapatkan output yang benar.

Sekarang saatnya untuk memproses setiap baris, simpan informasi yang dibatasi titik dua dalam variabel terpisah. Itulah yang saya lakukan pada baris 7, 8 dan 9.

Seperti yang Anda lihat, saya dapat mencetak PID , PEMILIK dan MEMERINTAH dalam format saya sendiri sekarang.

Sekarang saatnya untuk mengambil penggunaan memori dari setiap PID. Baris 10 melakukan hal itu.

Seperti yang Anda lihat, semuanya bekerja dengan sempurna. Sekarang saya dapat mencetak penggunaan memori dari setiap proses dalam kilobyte (KB) juga.

Sekarang yang tersisa untuk dilakukan adalah memformat output agar terlihat bagus. Saya lebih suka format tabel. Baris 5 mencetak header setiap kolom tabel.

Akhirnya, saya mencetak PID , PEMILIK , PENYIMPANAN (dalam KB) dan MEMERINTAH dari setiap proses dalam format tabel menggunakan baris 14.

Seperti yang Anda lihat, ini bekerja dengan baik. Ada sedikit masalah, proses tidak diurutkan dengan benar dalam urutan menurun berdasarkan penggunaan memori.

Untuk memperbaikinya, saya menghapus urutkan -bnr -k3 dari baris 3 dan membungkus semuanya dalam fungsi shell sysmon_main() . Kemudian tinggalkan pekerjaan menyortir ke menyortir memerintah.

Skrip shell terakhir terlihat seperti ini:

Seperti yang Anda lihat, ini bekerja dengan sangat baik.

Sekarang Anda dapat memindahkannya ke suatu tempat seperti /usr/bin dan jalankan seperti perintah lain sebagai berikut:

$sudo mv -vsysmon/usr/NS

Pelaksana sysmon :

Terima kasih telah membaca artikel ini.