Penyimpanan

Cara Memeriksa Penggunaan Memori Per Proses di Linux

Cara Memeriksa Penggunaan Memori Per Proses di 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. Sangat 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. Karena, 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 Linux. Saya akan menggunakan Debian 9 Stretch untuk semua demonstrasi di artikel ini. Tapi itu harus bekerja pada semua distribusi Linux modern. Mari kita mulai.

Memeriksa Penggunaan Memori Menggunakan Perintah ps:

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 itu 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 -o pid,pengguna,%mem,command axe | urutkan -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 perintah. 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 91717. Untuk melakukan itu, lari pmap sebagai berikut:

$ sudo pmap 917

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:

$ sudo pmap 917 | 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:

$ sudo pmap 917 | ekor -n 1 | awk '/[0-9]K/print $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:

$ sudo pmap 917 531 | jumlah total

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 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:

$ sistem sentuh

Sekarang buat file tersebut dapat dieksekusi dengan perintah berikut:

$ chmod +x sysmon

sysmon adalah skrip shell yang akan menampilkan semua proses yang berjalan PID, PEMILIK, PENYIMPANAN (dalam KB dalam urutan menurun) dan PERINTAH. 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 PERINTAH 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 hasil yang benar.

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

Seperti yang Anda lihat, saya dapat mencetak PID, PEMILIK dan PERINTAH 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 PERINTAH dari setiap proses dalam format tabel menggunakan baris 14.

Seperti yang Anda lihat, ini bekerja dengan baik. Ada sedikit masalah, prosesnya tidak diurutkan dengan benar 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 perintah.

Skrip shell terakhir terlihat seperti ini:

Seperti yang Anda lihat, ini bekerja dengan baik.

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

$ sudo mv -v sysmon /usr/bin

Pelaksana sysmon:

Terima kasih telah membaca artikel ini.

Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...
Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...