Quando le richieste di un programma in esecuzione fanno sì che richieda risorse eccessive dal tuo server, potresti riscontrare prestazioni scarse e instabilità del sistema.
Tempo di attività
Controlla il carico sul tuo server usando il uptime
comando.
$ uptime
15:16:45 up 41 days, 2:35, 2 users, load average: 0.01, 3.01, 2.70
L'esempio mostra l'output di uptime
. Quando il comando è stato eseguito alle 15:16:45, il server era attivo da 41 days 2 hours and 35 minutes
, c'erano due utenti connessi e le medie di carico erano 0.01
, 3.01
e 2.70
.
Il carico medio è il lavoro che il sistema sta facendo. I tre numeri mostrano le medie di carico rispettivamente per l'ultimo minuto, 5 minuti e 15 minuti. Una media di carico di 1
riflette il carico di lavoro completo di un singolo processore sul sistema. Un carico di 2
su un sistema con due CPU significa che quelle CPU funzionavano al massimo. Su un sistema con quattro CPU, quel 2
riflette un carico di lavoro che utilizza circa la metà della potenza di elaborazione disponibile.
In circostanze normali, si desidera che la media del carico sia pari o inferiore al 70% dell'utilizzo totale della CPU. Puoi controllare il numero di CPU disponibili per la tua istanza eseguendo il comando seguente:
$ grep processor /proc/cpuinfo | wc -l
Se le medie di carico mostrano che il carico è in aumento ed è superiore al numero di CPU, è necessario indagare sulla causa. Un carico maggiore del numero di CPU significa che il sistema sta mettendo in coda le richieste del processore, il che riduce le prestazioni.
in alto
La top
Il comando visualizza informazioni in tempo reale sull'utilizzo delle risorse del server. Le prime righe forniscono un riepilogo dell'utilizzo delle risorse nel sistema. È possibile ordinare l'elenco dei processi per CPU (P
) o uso della memoria (M
), che ti consente di vedere rapidamente le maggiori richieste sulle risorse del tuo server.
gratuito
Il free
Il comando visualizza informazioni sull'utilizzo della memoria del server. Le prime righe forniscono un riepilogo dell'utilizzo della memoria sul sistema.
Il gratuito la colonna mostra la quantità di memoria libera, che generalmente è minima perché la memoria inutilizzata è una risorsa sprecata. Il disponibile colonna displaymostra che è disponibile molta memoria da allocare a processi esistenti o nuovi.
vmstat
La quantità di memoria di sistema è uno dei fattori limitanti più comuni. Lo scambio è un'area del disco rigido in cui i dati vengono spostati per liberare memoria fisica (RAM) da utilizzare per un processo (non tutti i server hanno spazio di scambio configurato). Se il sistema consuma la maggior parte della sua area di scambio, ciò potrebbe significare che il server è cercare di fare più di quanto la sua memoria disponibile consenta non che la memoria sia insufficiente.
Se hai configurato lo spazio di scambio e sospetti che il tuo server stia esaurendo la memoria standard, puoi utilizzare vmstat
per mostrare la quantità di scambi in corso.
L'esempio seguente mostra le statistiche della memoria virtuale di un sistema 10 volte a intervalli di 5 secondi.
$ 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
Nell'esempio, il gratuito mostra che la quantità di memoria libera è di soli 4 MB circa.
Il si e così le colonne mostrano la quantità di dati trasferiti tra lo scambio del sistema e la sua memoria. In questo esempio, puoi vedere che molti dati vengono spostati. così mostra la quantità di dati spostati nello scambio per liberare memoria. si mostra la quantità di dati recuperati dallo scambio in memoria. Ciò accade quando un processo ha bisogno dei dati per essere eseguito.
Quando un server esegue costantemente lo scambio in entrata e in uscita dalla memoria, ciò indica che il carico su di esso è troppo elevato per le risorse disponibili. Usa il top
comando per identificare i processi che consumano più risorse.
Riepilogo
Se top
e vmstat
indica che il server sta utilizzando tutte le sue risorse, è necessario ottimizzare la configurazione corrente. Ad esempio, è possibile eseguire alcuni processi di elaborazione al di fuori delle ore di punta, interrompere eventuali processi non richiesti e riconfigurare altri processi in modo che utilizzino meno risorse. Potresti anche prendere in considerazione l'idea di aumentare le dimensioni del tuo server per soddisfare meglio le tue esigenze.
Se l'applicazione viene eseguita e sembra integra, verifica che sia in ascolto per le connessioni di rete. Verifica se il servizio è in ascolto sulla presa corretta utilizzando netstat
comando. Consulta Verifica delle porte di ascolto con netstat per ulteriori informazioni.