Ketika tuntutan program yang sedang berjalan menyebabkannya meminta sumber daya yang berlebihan dari server Anda, Anda mungkin mengalami kinerja yang buruk dan ketidakstabilan sistem.
Waktu aktif
Periksa beban di server Anda menggunakan uptime
perintah.
$ uptime
15:16:45 up 41 days, 2:35, 2 users, load average: 0.01, 3.01, 2.70
Contoh menunjukkan output dari uptime
. Ketika perintah dijalankan pada 15:16:45, server telah menyala selama 41 days 2 hours and 35 minutes
, ada dua pengguna yang masuk, dan rata-rata pemuatan adalah 0.01
, 3.01
, dan2.70
.
Rata-rata beban adalah pekerjaan yang dilakukan sistem. Tiga angka menunjukkan rata-rata beban untuk menit terakhir, 5 menit, dan 15 menit masing-masing. Rata-rata pemuatan 1
mencerminkan beban kerja penuh dari satu prosesor pada sistem. Sebuah beban 2
pada sistem dengan dua CPU berarti CPU tersebut bekerja secara maksimal. Pada sistem dengan empat CPU, 2
mencerminkan beban kerja yang menggunakan sekitar setengah dari kekuatan pemrosesan yang tersedia.
Dalam keadaan normal, Anda ingin rata-rata beban menjadi 70% dari total penggunaan CPU Anda atau kurang. Anda dapat memeriksa jumlah CPU yang tersedia untuk instans Anda dengan menjalankan perintah berikut:
$ grep processor /proc/cpuinfo | wc -l
Jika rata-rata beban menunjukkan bahwa beban meningkat dan lebih tinggi dari jumlah CPU, Anda harus menyelidiki penyebabnya. Beban yang lebih besar dari jumlah CPU berarti sistem mengantre permintaan prosesor, yang mengurangi kinerja.
atas
top
perintah menampilkan informasi real-time mengenai penggunaan sumber daya server. Beberapa baris pertama memberikan ringkasan pemanfaatan sumber daya pada sistem Anda. Anda dapat mengurutkan daftar proses berdasarkan CPU (P
) atau penggunaan memori (M
), yang memungkinkan Anda dengan cepat melihat tuntutan terbesar pada sumber daya server Anda.
gratis
free
perintah menampilkan informasi tentang penggunaan memori server. Baris pertama memberikan ringkasan penggunaan memori pada sistem Anda.
gratis kolom menampilkan jumlah memori bebas, yang umumnya minimal karena memori yang tidak digunakan adalah sumber daya yang terbuang. tersedia tampilan kolommenunjukkan banyak memori yang tersedia untuk dialokasikan ke proses yang ada atau baru.
vmstat
Jumlah memori sistem adalah salah satu faktor penghambat yang paling umum. Swap adalah area hard drive tempat data dipindahkan ke memori upfisik (RAM) untuk digunakan proses (tidak semua server memiliki ruang swap yang dikonfigurasi). Jika sistem Anda menggunakan sebagian besar area swap, itu mungkin berarti server sedang mencoba melakukan lebih dari yang memungkinkan memori yang tersedia tidak kekurangan memori.
Jika Anda telah mengonfigurasi ruang swap dan Anda menduga server Anda kehabisan memori standar, Anda dapat menggunakan vmstat
untuk menunjukkan berapa banyak pertukaran yang terjadi.
Contoh berikut menampilkan statistik memori virtual sistem 10 kali pada interval 5 detik.
$ vmstat 5 10
procs -----------memory------------- ---swap---- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 3 138096 3904 140 584 14829 33632 16684 33633 1353 11562 64 9 16 11 0
7 4 156592 3800 132 492 53570 48618 54264 48622 2762 8148 20 5 50 24 0
2 7 258552 3040 128 668 37910 39822 39766 39826 2763 10861 43 8 23 26 0
7 4 261608 4312 116 776 41696 30854 42171 30855 2771 8631 26 6 33 35 0
3 4 259316 3824 112 576 44616 32316 44697 32320 2746 7087 15 4 52 28 0
0 5 257000 3376 116 880 25895 19847 26622 19848 1673 2877 1 2 68 29 0
4 4 263240 3384 124 1424 30018 21066 30497 21070 1732 4559 9 3 64 24 0
2 14 264656 5740 120 1812 27685 19030 28029 19031 2194 5345 11 3 51 35 0
6 3 338044 3764 132 1568 20087 31066 20470 31070 1798 9847 46 6 33 14 0
2 4 325904 4048 108 1172 13251 7190 13812 7190 1193 8838 38 5 24 32 0
Dalam contoh, gratis kolom menunjukkan bahwa jumlah memori bebas hanya sekitar 4 MB.
si dan begitu kolom menunjukkan jumlah data yang ditransfer antara swap sistem dan memorinya. Dalam contoh ini, Anda dapat melihat ada banyak data yang dipindahkan. begitu menunjukkan jumlah data yang dipindahkan ke swap untuk mengosongkan memori. si menunjukkan jumlah data yang ditarik dari swap kembali ke memori. Ini terjadi ketika suatu proses membutuhkan data untuk dijalankan.
Ketika server terus-menerus bertukar masuk dan keluar dari memori, itu menunjukkan bahwa beban di dalamnya terlalu besar untuk sumber daya yang tersedia. Gunakan top
perintah untuk mengidentifikasi proses yang menghabiskan paling banyak sumber daya.
Ringkasan
Jika top
dan vmstat
menunjukkan bahwa server menggunakan semua sumber dayanya, Anda perlu mengoptimalkan pengaturan Anda saat ini. Misalnya, Anda dapat menjalankan beberapa pekerjaan pemrosesan di luar jam sibuk, menghentikan proses yang tidak diperlukan, dan mengonfigurasi ulang proses lain sehingga mereka menggunakan lebih sedikit sumber daya. Anda mungkin juga ingin mempertimbangkan untuk meningkatkan ukuran server agar lebih sesuai dengan kebutuhan Anda.
Jika aplikasi Anda berjalan dan terlihat sehat, periksa apakah aplikasi tersebut mendengarkan koneksi jaringan. Lihat apakah layanan mendengarkan pada socket yang benar dengan menggunakan netstat
memerintah. Tinjau Memeriksa Port Pendengaran dengan netstat untuk informasi lebih lanjut.