Když požadavky běžícího programu způsobí, že vyžaduje nadměrné zdroje z vašeho serveru, můžete zaznamenat špatný výkon a nestabilitu systému.
Doba provozu
Zkontrolujte zatížení vašeho serveru pomocí uptime
příkaz.
$ uptime
15:16:45 up 41 days, 2:35, 2 users, load average: 0.01, 3.01, 2.70
Příklad ukazuje výstup z uptime
. Když byl příkaz spuštěn v 15:16:45, server byl v provozu 41 days 2 hours and 35 minutes
,přihlásili se dva uživatelé a průměry zatížení byly 0.01
, 3.01
a2.70
.
Průměrná zátěž je práce, kterou systém vykonává. Tři čísla ukazují průměry zatížení za poslední minutu, 5 minut a 15 minut. Průměrná zátěž 1
odráží plnou pracovní zátěž jednoho procesoru v systému. Zátěž 2
na systému se dvěma CPU znamená, že tyto CPU pracovaly na maximum. Na systému se čtyřmi CPU to 2
odráží pracovní zátěž využívající přibližně polovinu dostupného výpočetního výkonu.
Za normálních okolností chcete, aby průměrná zátěž byla 70 % vašeho celkového využití CPU nebo méně. Počet CPU dostupných pro vaši instanci můžete zkontrolovat spuštěním následujícího příkazu:
$ grep processor /proc/cpuinfo | wc -l
Pokud průměrné zatížení ukazuje, že zatížení roste a je vyšší než počet CPU, měli byste prozkoumat příčinu. Zatížení větší než počet CPU znamená, že systém zařazuje požadavky procesoru do fronty, což snižuje výkon.
nahoře
top
zobrazí informace v reálném čase o využití zdrojů serveru. Prvních několik řádků poskytuje shrnutí využití zdrojů ve vašem systému. Seznam procesů můžete seřadit podle CPU (P
) nebo využití paměti (M
), což vám umožní rychle zjistit největší nároky na zdroje vašeho serveru.
zdarma
free
zobrazí informace o využití paměti serveru. První řádky poskytují souhrn využití paměti ve vašem systému.
zdarma sloupec zobrazuje množství volné paměti, které je obecně minimální, protože nevyužitá paměť je plýtváním zdrojem. dostupné sloupec zobrazuje, kolik paměti je k dispozici pro přidělení stávajícím nebo novým procesům.
vmstat
Velikost systémové paměti je jedním z nejběžnějších omezujících faktorů. Swap je oblast pevného disku, kam se přesouvají data do volné upphysical paměti (RAM) pro proces, který může použít (ne všechny servery mají nakonfigurovaný odkládací prostor). Pokud váš systém spotřebovává většinu odkládací oblasti, může to znamenat, že server je pokusit se udělat více, než jeho dostupná paměť dovoluje, neznamená, že má málo paměti.
Pokud jste nakonfigurovali odkládací prostor a máte podezření, že váš server má nedostatek standardní paměti, můžete použít vmstat
abyste ukázali, jak často dochází k výměně.
Následující příklad zobrazuje statistiku virtuální paměti systému 10krát v 5sekundových intervalech.
$ 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
V příkladu zdarma sloupec ukazuje, že množství volné paměti je pouze kolem 4 MB.
si a tak sloupce ukazují množství dat přenesených mezi swapem systému a jeho pamětí. V tomto příkladu můžete vidět, že se přesouvá velké množství dat. tak ukazuje množství dat přesouvaných do swapu za účelem uvolnění paměti. si ukazuje množství dat stahovaných ze swapu zpět do paměti. K tomu dochází, když proces potřebuje ke svému běhu data.
Když server neustále přechází do paměti a z ní dochází, znamená to, že zátěž na něm je příliš velká pro dostupné zdroje. Použijte top
příkaz k identifikaci procesů, které spotřebovávají nejvíce zdrojů.
Přehled
Pokud je top
a vmstat
indikují, že server využívá všechny své zdroje, musíte optimalizovat své aktuální nastavení. Můžete například spouštět některé úlohy zpracování mimo špičku, ukončit všechny nevyžadované procesy a překonfigurovat další procesy tak, aby spotřebovávaly méně prostředků. Můžete také zvážit zvětšení velikosti vašeho serveru, aby lépe odpovídal vašim požadavkům.
Pokud vaše aplikace běží a vypadá v pořádku, zkontrolujte, zda naslouchá síťovým připojením. Pomocí netstat
zkontrolujte, zda služba naslouchá na správném soketu příkaz. Další informace naleznete v části Kontrola naslouchacích portů pomocí netstat.