Saya menggunakan server linux yang memiliki memori 128GB dan 24 core. Saya menggunakan top untuk melihat berapa banyak digunakan. Keluarannya ditempel di akhir tulisan. Inilah dua pertanyaan:
(1) Saya melihat bahwa setiap proses yang berjalan menempati persentase memori yang sangat kecil (% MEM tidak lebih dari 0,2%, dan sebagian besar hanya 0,0%), tetapi bagaimana total memori hampir digunakan seperti pada baris keempat output ( "Mem: total 130766620k, digunakan 130161072k, 605548k gratis, buffer 919300k")? Jumlah persentase memori yang digunakan untuk semua proses tampaknya tidak mungkin mencapai hampir 100%, bukan?
(2) bagaimana memahami rata-rata beban pada baris pertama ("rata-rata muatan: 14,04, 14,02, 14,00")?
Terima kasih dan salam!
Sunting:
Terima kasih!
Saya juga sangat suka mendengar beberapa angka kasar berdasarkan persentase memori yang digunakan untuk menentukan apakah server dimuat banyak, karena saya pernah menjadi orang yang menjejalkan server tanpa memahami beban saat ini.
Apakah swap dianggap hampir sama dengan memori? Sebagai contoh, ketika memori dan swap ukurannya hampir sama, jika memori hampir habis tetapi swap sebagian besar masih bebas, mungkin saya hanya melihatnya seolah-olah persentase memori yang digunakan + swap masih tidak tinggi dan menjalankan yang baru lainnya proses?
Bagaimana Anda mempertimbangkan penggunaan CPU atau memori (atau memori + swap) bersama? Apakah Anda menjadi khawatir jika salah satu dari mereka mencapai terlalu tinggi atau keduanya?
Output atas:
$ top
top - 12:45:33 hingga 19 hari, 23:11, 18 pengguna, rata-rata memuat: 14.04, 14.02, 14.00 Tugas: total 484, 12 lari, 472 tidur, 0 berhenti, 0 zombie Cpu (s): 36,7% kami, 19,7% sy, 0,0% ni, 43,6% id, 0,0% wa, 0,0% hi, 0,0% si, 0,0% st Mem: 130766620k total, 130161072k digunakan, 605548k gratis, buffer 919300k Swap: 63111312k total, 500556k digunakan, 62610756k gratis, 124437752k di-cache PID PENGGUNA PR NI VIRT RES SHR S% CPU% MEM TIME + COMMAND 6529 sanchez 18 -2 1075m 219m 13m S 100 0.2 13760: 23 MATLAB 13210 timotius 18 -2 48336 37m 1216 R 100 0,0 3: 56,75 absurditas 13888 timotius 18 -2 48336 37m 1204 R 100 0,0 2: 04,89 absurditas 14542 timotius 18 -2 48336 37m 1196 R 100 0,0 1: 08,34 absurditas 14544 timotius 18 -2 2888 2076 400 R 100 0,0 1: 06,14 kumpulkan Data 6183 sanchez 18 -2 1133m 195m 13m S 100 0.2 13676: 04 MATLAB 6795 sanchez 18 -2 1079m 210m 13m S 100 0.2 13734: 26 MATLAB 10178 timotius 18 -2 48336 37m 1204 R 100 0,0 11: 33,93 absurditas 12438 timotius 18 -2 48336 37m 1216 R 100 0,0 5: 38,17 absurditas 13661 timotius 18 -2 48336 37m 1216 R 100 0,0 2: 44,13 absurditas 14098 timotius 18 -2 48336 37m 1204 R 100 0,0 1: 58,31 absurditas 14335 timotius 18 -2 48336 37m 1196 R 100 0,0 1: 08,93 absurditas 14765 timotius 18 -2 48336 37m 1196 R 99 0,0 0: 32,57 absurditas 13445 timotius 18 -2 48336 37m 1216 R 99 0,0 3: 01,37 absurditas 28990 root 20 0 0 0 0 S 2 0.0 65: 50.21 pdflush 12141 tim 18 -2 19380 1660 1024 R 1 0,0 0: 04,04 teratas 1240 root 15 -5 0 0 0 S 0 0.0 16: 07.11 kjournald 9019 root 20 0 296m 4460 2616 S 0 0,082: 19,51 kdm_greet 1 root 20 0 4028 728 592 S 0 0.0 0: 03.11 init 2 root 15 -5 0 0 0 S 0 0.0 0: 00.00 kthreadd 3 root RT -5 0 0 0 S 0 0.0 0: 01.01 migrasi / 0 4 root 15 -5 0 0 0 S 0 0.0 0: 08.13 ksoftirqd / 0 5 root RT -5 0 0 0 S 0 0.0 0: 00.00 anjing penjaga / 0 6 root RT -5 0 0 0 S 0 0.0 17: 27.31 migrasi / 1 7 root 15 -5 0 0 0 S 0 0.0 0: 01.21 ksoftirqd / 1 8 root RT -5 0 0 0 S 0 0.0 0: 00.00 anjing penjaga / 1 9 root RT -5 0 0 0 S 0 0.0 10: 02.56 migrasi / 2 10 root 15 -5 0 0 0 S 0 0.0 0: 00.34 ksoftirqd / 2 11 root RT -5 0 0 0 S 0 0.0 0: 00.00 anjing penjaga / 2 12 root RT -5 0 0 0 S 0 0.0 4: 29.53 migrasi / 3 13 root 15 -5 0 0 0 S 0 0.0 0: 00.34 ksoftirqd / 3
sumber
Jawaban:
Untuk melihat berapa banyak memori yang Anda gunakan saat ini, jalankan
free -m
. Ini akan memberikan output seperti:Nilai baris 'bekas' (1923) hampir selalu hampir sama dengan nilai mem baris atas (2012). Sejak Linux suka menggunakan memori cadangan untuk cache blok disk (515).
Angka kunci yang digunakan untuk melihat adalah nilai buffer / baris cache digunakan (1316). Ini adalah berapa banyak ruang yang digunakan aplikasi Anda saat ini. Untuk kinerja terbaik, jumlah ini harus kurang dari total memori (2012) Anda. Untuk mencegah kesalahan memori, itu harus kurang dari total memori (2012) dan ruang swap (3153).
Jika Anda ingin melihat dengan cepat berapa banyak memori yang kosong lihat pada nilai buffer baris cache / cache (695). Ini adalah total memori (2012) - yang sebenarnya digunakan (1316). (2012 - 1316 = 696, bukan 695, ini hanya akan menjadi masalah pembulatan)
Artikel ini memuat rata-rata menggunakan analogi lalu lintas yang bagus dan merupakan yang terbaik yang saya temukan sejauh ini: Memahami Beban CPU Linux - kapan Anda harus khawatir? . Dalam kasus Anda, seperti yang ditunjukkan orang:
Jadi, dengan rata-rata muatan 14.00 dan 24 core, server Anda jauh dari kelebihan beban.
sumber
Sistem seperti Unix, termasuk linux, dirancang untuk membuat penggunaan RAM yang tersedia seefisien mungkin. Dalam istilah yang sangat umum, ada 3 status setiap MB RAM dapat di:
Ke-3 negara hanya digunakan sebagai ruang awal dan dimaksudkan untuk dipindahkan kapan pun diperlukan, yaitu total memori Anda yang tersedia untuk program benar-benar Gratis + Digunakan untukBuffers. Dengan demikian, Anda tidak akan benar-benar melihat buffer space yang dialokasikan muncul sebagaimana ditugaskan untuk proses spesifik apa pun.
Pertanyaan rata-rata memuat Anda sedikit lebih menarik, karena dapat dengan mudah disalahartikan. Untuk cerita selengkapnya, lihat artikel jurnal linux ini . Penjumlahan terbaik adalah kutipan langsung dari artikel,
Artinya, Anda dapat menganggap rata-rata beban Anda sebagai (# proses yang berjalan) + (# proses yang menunggu di IO). Perlu diingat bahwa pada waktu tertentu Anda dapat memiliki sejumlah proses CORE $ dieksekusi, saya akan mengatakan bahwa rata-rata beban Anda dari 14 cukup rendah.
sumber
Dari
sar
halaman manual:Dari
uptime
halaman manual:sumber
top
pada dasarnya tidak berguna, umumnya menjaga sebagian besar memori mesin dialokasikan untuk berbagai keperluan ketika tidak diperlukan oleh proses pengguna.sumber
Rata-rata beban adalah hal yang hebat. Ini memungkinkan Anda memahami apa yang terjadi di luar pemanfaatan 100%, pada dasarnya: http://en.wikipedia.org/wiki/Load_%28computing%29
sumber