Febbraio 3, 2022

AIX per gli amministratori di sistema

Gerarchia di memoria
Le istruzioni e i dati che i processi della CPU sono presi dalla memoria. La memoria è disponibile in diversi strati.
Registri di alto livello, è ad alta velocità celle di memoria (può contenere 32-64 bit di dati)
Cache – Se i dati non possono essere trovati nei registri si vedrà nel livello successivo, che è la cache
cache L1 il fastes una più piccola (di solito sul chip della CPU) 32-256 KB
L2 cache, se i dati richiesti non in L1, la CPU sta cercando di trovare in L2, può essere megabyte (4MB)
cache L3, è un po ‘ più lontano, a circa 32MB
RAM – Se i dati richiesti non nell’hardware cache quindi TLB (Translation Lookaside Buffer) verranno verificati, dopo la RAM
TLB della cache di recente indirizzi
Disco – Se l’indirizzo non è nella RAM, si verifica un errore di pagina e i dati vengono recuperati dal disco rigido.
Un errore di pagina è una richiesta di caricare una pagina di dati 4KB dal disco.
Il modo in cui funziona il paging della domanda è che il kernel carica solo poche pagine alla volta nella memoria reale. Quando la CPU è pronta per un’altra pagina, guarda la RAM. Se non riesce a trovarlo lì, si verifica un errore di pagina e questo segnala al kernel di portare più pagine nella RAM dal disco.
Se la CPU è in attesa di dati dalla memoria reale, la CPU è ancora considerata in stato occupato. Se i dati sono necessari dal disco, la CPU è in stato di attesa I/O.
————————————-
Cache L2 e prestazioni:
La cache L2 è una memoria veloce che memorizza copie dei dati dalle posizioni di memoria principali utilizzate più frequentemente.

Prima immagine mostra un sistema Power5, seconda immagine Power6 (o Power7) sistema.
Nei sistemi Power5, c’è una singola cache L2 su un chip del processore che è condivisa da entrambi i core sul chip. Nei server successivi (Power6 e Power7) hanno cache L2 separata per ogni core su un chip. Le prestazioni della partizione dipendono dall’efficienza con cui utilizza la cache del processore.
Se l’interferenza della cache L2 con altre partizioni è minima, le prestazioni sono molto migliori per la partizione. Condividere la cache L2 con altre partizioni significa che c’è la possibilità che i dati di accesso più frequenti del processore vengano svuotati dalla cache e l’accesso dalla cache L3 o dalla memoria principale richiederà più tempo.
————————————-
Spazio di paging (chiamato anche spazio di swap)
La RAM e lo spazio di paging sono divisi in sezioni 4 KB chiamate frame di pagina. (Una pagina è un’unità di memoria virtuale che contiene 4 KB di dati.) Quando il sistema ha bisogno di più RAM, i fotogrammi delle pagine di informazioni vengono spostati dalla RAM e sul disco rigido. Questo si chiama paging out. Quando quei fotogrammi di pagina di informazioni sono necessari di nuovo, vengono prelevati dal disco rigido e spostati di nuovo nella RAM. Questo si chiama paging in.

Quando il sistema passa più tempo a mischiare i frame di pagina dentro e fuori dalla RAM invece di fare un lavoro utile, il sistema sta battendo.
Quando la quantità di spazio di paging disponibile scende al di sotto di una soglia, chiamata livello di avviso dello spazio di paging, il sistema invia a tutti i processi (eccetto i processi del kernel) un segnale SIGDANGER. Questo segnale dice ai processi di terminare con grazia. Quando la quantità di spazio di paging vuoto scende ulteriormente al di sotto di una seconda soglia, chiamata livello di eliminazione dello spazio di paging, il sistema invia un segnale SIGKILL ai processi che utilizzano la maggior parte dello spazio di paging. (terminate nongracefully)
Quando AIX è installato, crea automaticamente spazio di paging sul disco di installazione, che di solito è il disco rigido hdisk0. Il nome di questo spazio di paging è sempre hd6. Il file /etc/swapspaces contiene un elenco delle aree di spazio di paging che verranno attivate all’avvio del sistema.
swapon è un termine dei giorni precedenti all’utilizzo dei frame di pagina. A quel tempo, intorno al 1982, AIX scambiò interi programmi dalla RAM e sul disco rigido. Oggi, una parte del programma viene lasciato nella RAM, e il resto è paging fuori dal programma sul disco rigido. Il termine swapon è bloccato, quindi oggi a volte ci riferiamo al paging out e al paging in come swapping
Una volta visualizzata una pagina di calcolo, continua a occupare spazio sul file di paging finché esiste il processo, anche se la pagina viene successivamente reindirizzata. In generale si dovrebbe evitare di paging a tutti.
Quanto spazio di paging avete bisogno sul vostro sistema? Qual è la regola empirica?
Gli amministratori di database di solito amano richiedere il numero più alto di tutto e potrebbero istruirti a raddoppiare la quantità di spazio di paging come RAM (la vecchia regola empirica). In generale, se il mio sistema ha più di 4 GB di RAM, di solito mi piace creare un rapporto uno a uno di spazio di paging rispetto alla RAM. Monitora frequentemente il tuo sistema dopo essere andato in diretta. Se vedi che non ti avvicini mai al 50% dell’utilizzo dello spazio di paging, non aggiungere lo spazio.
Il numero e i tipi di applicazioni detteranno la quantità di spazio di paging necessario. Sono state pubblicate molte “regole empiriche” di dimensionamento, ma l’unico modo per dimensionare correttamente lo spazio di paging della macchina è monitorare la quantità di attività di paging.

Suggerimenti per lo spazio di paging:
– Solo 1 spazio di paging per disco
– Utilizzare dischi con la minima attività
– Gli spcaces di paging dovrebbero avere la stessa dimensione
– Non estendere un spcae di paging a più PV
Idealmente, dovrebbero esserci diversi spazi di paging di uguali dimensioni ciascuno su diversi volumi fisici. Lo spazio di paging è allocato in modo round robin e utilizzerà tutte le aree di paging allo stesso modo. Se si dispone di due aree di paging su un disco, non si sta più diffondendo l’attività su più dischi.A causa della tecnica round robin utilizzata, se non hanno le stesse dimensioni, l’utilizzo dello spazio di paging non sarà bilanciato.
bootinfo -r visualizza la memoria reale in kilobyte (questo funziona anche: lsattr -El sys0 -un realmem)
lscfg -vp |grep -p DIMM visualizza il modulo di memoria DIMM
lsattr -El sys0 -un realmem (lista di attributi) vedere quanto reale memoria
ps aux | sort +4 -n elenca la quantità di mem è utilizzato dai processi
svmon -P | grep -p <pid> è possibile visualizzare la quantità di paging spce un processo
svmon -P-O sortseg=pgsp mostra lo spazio di paging utilizzo di processi
mkps -s 4 -n-a rootvg hdisk0 crea lo spazio di paging (dare il nome automaticamente:paging00)
-n si attiva immediatamente,
-a sarà attivato al successivo riavvio (si aggiunge al file /etc/swapspaces)
-taglia s 4 lp
lsp -un elenco di tutti paging spazi e l’utilizzo di paging spazio
lsp -s riepilogo di tutti paging spazi combinato (tutto il paging spazi si sommano)
chp -s 3 hd6 dinamicamente aumentare le dimensioni di un cercapersone spazio con 3 lp
chp -d 1 paging00 dinamicamente ridurre le dimensioni di un cercapersone spazio con 1 lp (verrà creata una temporanea lo spazio di paging)
/etc/swapspaces contiene un elenco di paging aree di spazio
vmstat -s
smitty mkps aggiunta di paging spazio
smitty chp cambiare lo spazio di paging
swapon /dev/paging02 dinamicamente attiva, o portare online, lo spazio di paging (o smitty pgsp)
swapoff /dev/paging03 disattivare il paging spazio
——————————
la rimozione di un paging spazio:
swapoff /dev/paging03 disattivare il paging spazio (/dev è necessario)
rmps paging03 rimuove lo spazio di paging (/dev non è necessario)
——————————
Per il risciacquo di paging spazio:
(mostra alta percentuale, ma in realtà nulla è in uso)
1. chps-d 1 hd6 diminuirà la dimensione del cercapersone di 1 lp (creerà una temperatura. spazio di paging, copia il conntent…)
(se non c’è abbastanza spazio nel vg, non lo farà)

2. chps-s 1 hd6 aumentare lo spazio di paging alla sua dimensione originale
——————————
Fork:
Quando c’è un messaggio relativo a impossibile fork… probabilmente è causato da un basso spazio di paging
Quando un processo chiama fork (), il sistema operativo crea un processo figlio del processo chiamante.
Il processo figlio creato da fork() è una sorta di replica del processo chiamante. Alcuni processi server, o demoni, chiamano fork () alcune volte per creare più di un’istanza di se stessi. Un esempio di questo è un server Web che pre-fork in modo che possa gestire un certo numero di connessioni in entrata senza dover fork() nel momento in cui arrivano.
Quando AIX non ha memoria, inizia a uccidere i processi. Proteggere un processo (ad esempio ssh) può essere importante per raggiungere il server.
L’opzione vmo ‘nokilluid’ può essere utilizzata per proteggere processi specifici:
1. grep ssh / etc / passwd ottenere l’ID utente di ssh (nel nostro caso era 202)
2. vmo -o nokilluid=202 id utente inferiore a questo valore non essere ucciso a causa della bassa pagina-spazio
——————————
la Gestione della Memoria Virtuale:
(questa sezione è applicabile anche a ioo, no, nfso)
vmo -a|egrep “minperm%|maxperm%|maxclient%|lru_file_repage|strict_maxclient|strict_maxperm|minfree|maxfree”
root@aix04: / # vmo -a |grep maxclient
maxclient% = 8
strict_maxclient = 1
root@aix1: /root # vmo -L
NOME del CUR DEF AVVIO MIN MAX UNITÀ di misura TYPE
DEPENDENCIES
——————————————————————————–
cpu_scale_memp 8 8 8 1 64 B
——————————————————————————–
data_stagger_interval n/a 161 161 0 4K-1 pagine di 4KB D
lgpg_regions
——————————————————————————–
D = Dinamica: può essere liberamente modificato
B = Bosboot: possono essere modificati solo con bosboot e riavviare
S = Static: il parametro non può essere modificato mai
R = Riavvia: il parametro può essere modificato solo durante l’avvio
/etc/tunables / nextboot < values valori da applicare al successivo riavvio. Questo file viene applicato automaticamente al momento dell’avvio.
/etc/tunables/lastboot <generated generato automaticamente all’avvio. Contiene i parametri, con i loro valori dopo l’ultimo avvio.
/etc/tunables / lasboot.log <contains contiene la registrazione della creazione del file lastboot, ovvero ogni modifica dei parametri effettuata viene registrata
vmo-o maxperm%=80 <sets imposta a 80
vmo-p-o maxperm%=80-o maxclient%=80 < sets imposta maxperm% e maxclient% a 80
(-p: imposta corrente e riavviare valori (aggiornamenti valore corrente e /etc/parametri/nextboot)
vmo -r-o lgpg_size=0 -o lgpg_regions=0 <–imposta solo in nextboot file,in modo che dopo il riavvio, verrà attivato
——————————
la Nota SAP 973227 raccomandazioni:
minperm% = 3
maxperm% = 90
maxclient% = 90
lru_file_repage = 0
strict_maxclient =1
strict_maxperm = 0
minfree = 960
maxfree = 1088
————————————–
————————————–
————————————–

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.