Rumah > Tutorial sistem > LINUX > teks badan

Pemantauan memori Linux: fahami status berjalan sistem dalam masa nyata

王林
Lepaskan: 2024-02-09 20:33:20
ke hadapan
457 orang telah melayarinya

Dalam era perkembangan maklumat yang pesat hari ini, kestabilan sistem pelayan semakin menarik perhatian. Sebagai bahagian penting pelayan, memori sering menjadi hambatan untuk isu prestasi sistem. Dalam kes ini, pemantauan masa nyata penggunaan memori memainkan peranan penting dalam memastikan kestabilan dan prestasi sistem. Artikel ini akan memperkenalkan cara memantau penggunaan memori dalam sistem Linux dan menggunakan beberapa arahan praktikal untuk memahami status berjalan sistem dalam masa nyata.

Saya akan membuat demonstrasi pada platform pelayan Ubuntu 18.04[1], tetapi anda harus mendapati semua arahan tersedia dalam pengedaran pilihan anda. Lebih baik lagi, anda tidak perlu memasang apa-apa (kerana kebanyakan alat ini disertakan dengan sistem Linux).

Dengan itu, mari kita mula bekerja.

atas

Saya ingin bermula dengan alat yang paling biasa digunakan. Arahan atas menyediakan paparan dinamik masa nyata bagi sistem yang sedang berjalan, ia menyemak penggunaan memori setiap proses. Ini penting kerana anda boleh melihat berbilang contoh arahan yang sama dengan mudah menggunakan jumlah memori yang berbeza. Walaupun anda tidak dapat melihat ini pada pelayan tanpa monitor, anda perasan bahawa membuka Chrome memperlahankan sistem anda. Jalankan arahan atas untuk melihat bahawa Chrome mempunyai berbilang proses yang sedang berjalan (satu untuk setiap tab – Rajah 1).

Linux 内存监控:实时掌握系统运行状态

Rajah 1: Berbilang proses Chrome muncul dalam arahan atas.

Chrome bukan satu-satunya apl yang menunjukkan berbilang proses. Adakah anda melihat Firefox dalam Rajah 1? Itulah proses utama Firefox, dan proses Kandungan Web ialah tab terbukanya. Di bahagian atas output, anda akan melihat statistik sistem. Pada mesin saya (System76 Leopard Extreme[2]) saya mempunyai sejumlah 16GB RAM yang tersedia, yang mana hanya lebih 10GB sedang digunakan. Anda kemudian boleh mengisih senarai untuk melihat peratusan memori yang digunakan oleh setiap proses.

Salah satu perkara terbaik tentang bahagian atas ialah menemui nombor ID proses (PID) perkhidmatan yang mungkin telah hilang kawalan. Dengan PID ini, anda boleh menyelesaikan masalah (atau membunuh) tugas yang bermasalah.

Jika anda mahu bahagian atas memaparkan maklumat memori yang lebih mesra, gunakan arahan atas -o %MEM, yang akan menyebabkan bahagian atas mengisih semua proses mengikut memori yang digunakan oleh proses tersebut (Rajah 2).

Linux 内存监控:实时掌握系统运行状态

Rajah 2: Isih proses mengikut penggunaan memori dalam arahan atas

Arahan atas juga memberi anda kemas kini masa nyata tentang jumlah ruang swap digunakan.

percuma

Namun, kadangkala, arahan teratas mungkin tidak memenuhi keperluan anda. Anda mungkin hanya mahu melihat memori percuma dan terpakai sistem anda. Untuk ini, Linux juga mempunyai arahan percuma. Arahan percuma memaparkan:

  • Jumlah jumlah memori fizikal yang tersedia dan digunakan
  • Jumlah amaun memori swap dalam sistem
  • Penampan dan cache yang digunakan oleh kernel

Dalam tetingkap terminal, masukkan arahan percuma. Outputnya bukan masa nyata, sebaliknya anda mendapat gambaran segera bagi memori percuma dan terpakai semasa (Rajah 3).

Linux 内存监控:实时掌握系统运行状态

Rajah 3: Output arahan percuma adalah mudah dan jelas.

Sudah tentu, anda boleh menjadikan percuma kelihatan lebih mesra dengan menambah pilihan -m, seperti ini: percuma -m. Ini akan menunjukkan penggunaan memori dalam MB (Rajah 4).

Linux 内存监控:实时掌握系统运行状态

Rajah 4: Output arahan percuma dalam bentuk yang lebih mudah dibaca.

Sudah tentu, jika sistem anda sangat baharu, anda akan mahu menggunakan pilihan -g (dalam GB), seperti -g percuma.

Jika anda perlu mengetahui jumlah memori, anda boleh menambah pilihan -t, seperti: percuma -mt. Ini hanya akan mengira jumlah memori dalam setiap lajur (Rajah 5).

Linux 内存监控:实时掌握系统运行状态

Rajah 5: Memberi anda lajur memori percuma.

vmstat

Satu lagi alat yang sangat berguna ialah vmstat. Perintah khusus ini adalah helah kecil untuk melaporkan statistik memori maya. Perintah vmstat akan melaporkan tentang:

  • Proses
  • Ingatan
  • Penomboran
  • Menyekat IO
  • Sampuk
  • Cakera
  • CPU

Cara terbaik untuk menggunakan vmstat ialah menggunakan pilihan -s, seperti vmstat -s. Ini akan melaporkan statistik dalam satu lajur (yang lebih mudah dibaca daripada laporan lalai). Perintah vmstat akan memberikan lebih banyak maklumat daripada yang anda perlukan (Rajah 6), tetapi lebih banyak adalah lebih baik (dalam kes ini).

Linux 内存监控:实时掌握系统运行状态

Rajah 6: Gunakan arahan vmstat untuk menyemak penggunaan memori.

dmidecode

Bagaimana jika anda ingin mencari maklumat terperinci tentang memori sistem yang dipasang? Untuk melakukan ini, anda boleh menggunakan arahan dmidecode. Alat khusus ini ialah penyahkod jadual DMI, yang membuang kandungan jadual DMI sistem anda ke dalam format yang boleh dibaca manusia. Jika anda tidak pasti apa itu jadual DMI, ia boleh digunakan untuk menerangkan susunan sistem (dan evolusinya).

Untuk menjalankan perintah dmidecode, anda memerlukan kebenaran sudo. Jadi masukkan perintah sudo dmidecode -t 17. Output arahan ini (Rajah 7) boleh menjadi agak panjang kerana ia memaparkan maklumat untuk semua peranti jenis memori. Oleh itu, jika anda tidak boleh menatal ke atas dan ke bawah, anda mungkin perlu menghantar output perintah itu ke fail, seperti: sudo dmidecode -t 17> dmi_infoI, atau hantarkannya ke perintah less, seperti sudo dmidecode |

Linux 内存监控:实时掌握系统运行状态

Rajah 7: Output arahan dmidecode.

/proc/meminfo

Anda mungkin bertanya kepada diri sendiri: "Dari manakah arahan ini mendapat maklumat ini?" Adakah anda menekanya? Anda boleh membaca fail ini terus menggunakan arahan less /proc/meminfo. Dengan menggunakan arahan kurang, anda boleh menatal ke atas dan ke bawah melalui output panjang untuk mencari apa yang anda perlukan dengan tepat (Rajah 8).

Linux 内存监控:实时掌握系统运行状态

Rajah 8: Output perintah kurang /proc/meminfo.

Apa yang anda patut tahu tentang /proc/meminfo: ini bukan fail sebenar. Sebaliknya /proc/meminfo ialah fail maya yang mengandungi maklumat dinamik masa nyata tentang sistem. Khususnya, anda perlu menyemak nilai berikut:

  • Semua ingatan (MemTotal)
  • Memori percuma (MemFree)
  • Memori tersedia (MemAvailable)
  • Penampan
  • Cache fail (Cache)
  • SwapCached
  • Semua kawasan pertukaran (SwapTotal)
  • Kawasan Swap Percuma (SwapFree)

Jika anda ingin menggunakan /proc/meminfo, anda boleh menyambungkan perintah egrep untuk menggunakannya: egrep –color’Mem |. Ini akan menghasilkan senarai yang mudah dibaca di mana entri untuk perkara seperti Mem, Cache dan Swap akan diwarnakan (Rajah 9).

Linux 内存监控:实时掌握系统运行状态

Rajah 9: Menjadikan /proc/meminfo lebih mudah dibaca.

Sama ada komputer peribadi atau sistem pelayan, penggunaan memori adalah penting dan memerlukan perhatian semasa penggunaan. Artikel ini memperkenalkan beberapa arahan praktikal untuk memantau dan mengurus memori dalam sistem Linux, yang membolehkan kami memahami status berjalan sistem dalam masa nyata dan dengan berkesan mengelakkan masa henti sistem atau kegagalan lain akibat masalah ingatan. Marilah kita memahami dengan mendalam dan menguasai arahan ini untuk memastikan keselamatan dan prestasi peranti.

Atas ialah kandungan terperinci Pemantauan memori Linux: fahami status berjalan sistem dalam masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lxlinux.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!