Ingatan

Cara Memeriksa Penggunaan Memori Setiap Proses di Linux

Cara Memeriksa Penggunaan Memori Setiap Proses di Linux
Hari-hari ini, komputer dapat menjalankan banyak program sekaligus. CPU tidak mempunyai masalah untuk menangani semua program ini kerana CPU memiliki banyak inti untuk menangani multi-tasking.

Setiap program ini dijalankan sebagai satu atau lebih proses. Setiap proses memperuntukkan sejumlah RAM atau memori untuk dirinya sendiri. Adalah mustahak untuk proses berfungsi dengan betul. Sekiranya proses gagal memperuntukkan RAM atau memori yang mencukupi, prosesnya tidak dapat dibuat dan program tidak dapat dimulakan.

Jadi, salah satu tugas asas yang anda lakukan di komputer anda adalah memeriksa berapa banyak memori atau RAM (Memori Akses Rawak) yang digunakan setiap proses. Kerana, RAM atau memori komputer anda terhad.

Bayangkan kes, di mana anda ingin menjalankan beberapa program dan ia gagal kerana anda tidak mempunyai cukup memori. Mungkin ada beberapa proses yang menggunakan banyak memori yang tidak anda perlukan sekarang. Anda boleh membunuh atau menghentikan proses ini untuk membebaskan RAM atau memori, sehingga anda dapat memulakan program penting anda.

Dalam artikel ini, saya akan menunjukkan kepada anda bagaimana untuk memeriksa penggunaan memori setiap proses yang dijalankan pada mesin Linux anda. Saya akan menggunakan Debian 9 Stretch untuk semua demonstrasi dalam artikel ini. Tetapi ia harus berfungsi pada sebilangan distribusi Linux moden. Mari kita mulakan.

Memeriksa Penggunaan Memori Menggunakan Perintah ps:

Anda boleh menggunakan ps arahan untuk memeriksa penggunaan memori semua proses di Linux. Terdapat satu masalah dengan prosedur ini. ps tidak benar-benar menunjukkan kepada anda berapa banyak memori yang digunakan oleh proses dalam format KB atau MB, tetapi akan menunjukkan kepada anda berapa banyak memori yang digunakan dalam peratusan.

Anda boleh memeriksa penggunaan memori (dalam peratusan) semua proses yang dijalankan pada sistem operasi Linux anda dengan arahan berikut:

$ ps -o pid, pengguna,% mem, perintah kapak | urutkan -b -k3 -r

Seperti yang anda lihat, semua proses dengan penggunaan memori dalam peratusan disenaraikan dalam urutan menurun (Proses yang menggunakan sebahagian besar memori disenaraikan terlebih dahulu).

Memeriksa Memori Penggunaan Proses dengan pmap:

Anda boleh memeriksa memori proses atau sekumpulan proses dalam format yang dapat dibaca manusia (dalam KB atau kilobyte) dengan pmap perintah. Yang anda perlukan hanyalah PID dari proses yang anda ingin periksa penggunaan memori.

Katakan, anda ingin memeriksa berapa banyak memori yang digunakan oleh proses dengan PID 917. Untuk melakukan itu, jalankan pmap seperti berikut:

$ sudo pmap 917

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

Sekiranya anda tidak peduli dengan berapa banyak memori yang digunakan oleh perpustakaan atau fail bergantung lain, jalankan pmap seperti berikut:

$ sudo pmap 917 | ekor -n 1

Seperti yang anda lihat, hanya jumlah memori yang digunakan oleh proses dengan PID 917 yang dicetak di skrin.

Sekiranya anda mahu, anda boleh menapisnya dengan lebih lanjut awk dan dapatkan ukuran hanya dalam KB atau kilobyte. Untuk melakukan itu, jalankan pmap seperti berikut:

$ sudo pmap 917 | 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 boleh menyenaraikan berapa banyak memori yang digunakan oleh pelbagai proses menggunakan PID mereka pmap seperti berikut:

$ sudo pmap 917 531 | jumlah grep

NOTA: Di sini 917 dan 531 adalah ID proses atau PID. Anda boleh meletakkan seberapa banyak PID yang anda mahukan dengan cara ini.

Menggunakan pmap untuk Menyenaraikan Penggunaan Memori Semua Proses di Kilobyte:

Di bahagian ini, saya akan menunjukkan kepada anda cara menulis skrip shell anda sendiri untuk menyenaraikan penggunaan memori semua proses yang berjalan pada sistem operasi Linux anda dalam format yang dapat dibaca manusia (kilobyte atau KB).

Pertama buat fail baru sysmon dalam direktori kerja semasa anda dengan arahan berikut:

$ sentuh sysmon

Sekarang buat fail yang dapat dilaksanakan dengan arahan berikut:

$ chmod + x sysmon

sysmon adalah skrip shell yang akan memaparkan semua proses yang sedang berjalan PID, PEMILIK, MEMORI (dalam KB mengikut tertib menurun) dan PERINTAH. Mari mulakan.

Buka sysmon skrip dengan editor teks kegemaran anda, saya akan gunakan Kate.

Sekarang, arahan pertama yang akan saya jalankan akan memberi saya PID, PEMILIK dan PERINTAH dari semua proses yang dijalankan dipisahkan oleh simbol titik dua (:) dan simpan di RAWIN pemboleh ubah. Kemudian gelung melalui output dan cetak pada skrin.

Seperti yang anda lihat, saya mendapat output yang betul.

Kini tiba masanya untuk memproses setiap baris, simpan maklumat yang dibatasi titik dua dalam pemboleh ubah berasingan. Itulah yang saya buat pada baris 7, 8 dan 9.

Seperti yang anda lihat, saya boleh mencetak PID, PEMILIK dan PERINTAH dalam format saya sendiri sekarang.

Kini tiba masanya untuk mengambil memori penggunaan setiap PID. Baris 10 melakukan perkara itu.

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

Sekarang yang tinggal hanyalah memformat output agar kelihatan bagus. Saya lebih suka format jadual. Baris 5 mencetak tajuk setiap lajur jadual.

Akhirnya, saya mencetak PID, PEMILIK, MEMORI (dalam KB) dan PERINTAH setiap proses dalam format jadual menggunakan baris 14.

Seperti yang anda lihat, ia berfungsi dengan baik. Terdapat sedikit masalah, namun prosesnya tidak disusun dengan betul mengikut urutan menurun berdasarkan penggunaan memori.

Untuk memperbaikinya, saya membuangnya urutkan -bnr -k3 dari baris 3 dan membungkus semuanya dalam fungsi shell sysmon_main (). Kemudian meninggalkan tugas menyusun ke mengurut perintah.

Skrip shell akhir kelihatan seperti ini:

Seperti yang anda lihat, ia berfungsi dengan baik.

Sekarang anda boleh memindahkannya ke tempat seperti / usr / tong sampah dan laksanakan seperti perintah lain seperti berikut:

$ sudo mv -v sysmon / usr / bin

Melaksanakan sysmon:

Terima kasih kerana membaca artikel ini.

Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...
Cara membalikkan arah tatal Tetikus dan Pad Sentuh pada Windows 10
Tetikus dan Pad sentuhs bukan sahaja menjadikan pengkomputeran mudah, tetapi lebih cekap dan kurang memakan masa. Kami tidak dapat membayangkan kehidu...
Cara menukar saiz, warna & skema penunjuk dan kursor tetikus pada Windows 10
Penunjuk dan kursor tetikus di Windows 10 adalah aspek yang sangat penting dalam sistem operasi. Ini boleh dikatakan untuk sistem operasi lain juga, j...