Di seguito è riportato l'elenco dei comandi del sistema operativo oltre all'output dei comandi di base che sono utili per diagnosticare i problemi alla fine del sistema operativo che causano prestazioni lente al database o al lato applicazione.
1. iotop
Il comando iotop è come un'utilità per l'I/O del disco. Controlla le informazioni sull'utilizzo dell'I/O emesse dal kernel Linux (richiede v2.6.20 o successiva) e visualizza una tabella dell'utilizzo dell'I/O corrente da parte di processi o thread sul sistema. Ciò richiede che l'utente root esegua il comando.
2. Per raccogliere le informazioni sulla cache del filesystem utilizzando l'output del comando "free" per ottenere l'utilizzo della cache del filesystem:
comando "free" per verificare l'utilizzo della memoria. I "Buffer" rappresentano la quantità di RAM dedicata al blocco del disco della cache. "Cache" è simile a "Buffer", solo che questa volta memorizza nella cache le pagine dalla lettura dei file.
Un buffer è qualcosa che deve ancora essere "scritto" su disco. Una cache è qualcosa che è stato "letto" dal disco e archiviato per un uso successivo.
3. Per controllare l'elenco delle patch del sistema operativo applicate in Linux utilizzando il comando seguente. Questo aiuterà a identificare i cambiamenti che CT ha fatto in passato:
# rpm -qa --last > last-rpms.txtNota :Questo elencherà le patch applicate con data e ora.
4. Per raccogliere le informazioni su Memoria/CPU/IO/NUMA ecc. per eventuali modifiche dall'output di dmesg. Può essere raccolto ogni 30 secondi:
– Per visualizzare le informazioni hardware relative alla porta Ethernet eth0:
$ dmesg | grep -i eth0
– Per visualizzare la memoria totale disponibile e i dettagli della memoria condivisa:
$ dmesg | grep -i Memory
– Per visualizzare le informazioni tty:
$ dmesg | grep -i tty
– Per visualizzare le informazioni NUMA:
$ dmesg | grep -i numa
– Per visualizzare le informazioni sui dischi rigidi:
$ dmesg | grep -i sda
– Per visualizzare le informazioni relative alla CPU:
$ dmesg | grep -i CPU
5. Per raccogliere il registro dei messaggi di sistema globali:
/var/log/messages /var/log/dmesg
Il comando dmesg mostra il contenuto corrente dei messaggi del buffer dell'anello syslog del kernel mentre il file /var/log/dmesg contiene ciò che era in quel buffer dell'anello quando il processo di avvio è stato completato l'ultima volta.
/var/log/dmesg rimane invariato fino al prossimo riavvio. I vecchi messaggi vengono sostituiti da nuovi messaggi nel buffer dell'anello. dmesg è il sottoinsieme di /var/log/messages ed è mantenuto nel buffer dell'anello. /var/log/messages include tutti i messaggi di sistema incluso dall'avvio del sistema insieme ai messaggi in dmesg. In poche parole i log di dmesg vengono scaricati in /var/log/messages.
Nomi e utilizzo comuni dei file di registro di Linux:
- /var/log/messages :messaggio generale e materiale relativo al sistema.
- /var/log/auth.log :registri di autenticazione.
- /var/log/kern.log :registri del kernel.
- /var/log/cron.log :Registri Crond (cron job).
- /var/log/maillog :registri del server di posta.
- /var/log/qmail/ :Directory log di Qmail (più file all'interno di questa directory).
- /var/log/httpd/ :Directory dei registri degli accessi e degli errori di Apache.
- /var/log/lighttpd/ :Directory dei registri degli accessi e degli errori di Lighttpd.
- /var/log/boot.log :registro di avvio del sistema.
- /var/log/mysqld.log :file di registro del server di database MySQL.
- /var/log/secure o /var/log/auth.log :Registro di autenticazione.
- /var/log/utmp o /var/log/wtmp :file dei record di accesso.
- /var/log/yum.log :File di registro dei comandi Yum.
6. Per verificare se vengono utilizzate hugepage. Da eseguire solo all'inizio e alla fine della raccolta OSW:
# grep -i Hugepages /proc/meminfo # cat /proc/meminfo
7. Per controllare il filesystem utilizzato nel sistema operativo. Da eseguire una sola volta:
# cat /etc/fstab
8. Per raccogliere le informazioni sull'attività del sistema per l'ultima settimana:
/var/log/sa contiene file per sa e sar che contengono le informazioni sulla cronologia dell'utilizzo della CPU.
# ls -al /var/log/sa | grep "Mar 12" -rw-r--r--. 1 root root 721996 Mar 12 23:50 sa12 -rw-r--r--. 1 root root 655607 Mar 12 23:53 sar12
# sar -W -f /var/log/sa/sa12 ### shows paging/swapping historical info # less /var/log/sa/sa12
09. Per ottenere le informazioni sulla CPU Arch:
# lscpu # cat /proc/cpuinfo
11. Per ottenere le informazioni sulla memoria condivisa/semafori del kernel:
# ipcs -lm # ipcs -ls # cat /proc/sys/kernel/shmmax # cat /proc/sys/kernel/shmmni # getconf PAGE_SIZE # cat /proc/sys/kernel/shmall
12. Per ottenere informazioni sugli handle di file:
# cat /proc/sys/fs/file-max # cat /proc/sys/fs/file-nr
13. Per ottenere informazioni su ulimit per Open file descriptors/maxproc:
# su - oracle # ulimit -n # ulimit -u
14. Per verificare la dimensione IO massima per richiesta IO:
# cat /sys/block//queue/max_sectors_kb
Per determinare la dimensione massima di I/O in byte quando si utilizza Asynch IO:
# cat /proc/sys/fs/aio-max-size
o
# cat /proc/sys/fs/aio-max-nr
15. Per mostrare il modello del dispositivo disco, gli standard, la configurazione, la capacità ecc:
Esempio:
# hdparm -I /dev/sda # sudo hdparm -i /dev/sda
16. Per controllare la dimensione del blocco per un particolare dispositivo:
Esempio:
# blockdev --getbsz /dev/xvda1 # tune2fs -l /dev/vgxx/lvolxNOTA :Tutti i comandi sopra menzionati sono testati solo in ambiente Linux.