2014-09-09 4 views
2

J'utilise ubuntu Ubuntu 14.04.1 LTSDécouvrez quels fichiers sont fortement utilisés dans le système

atopsar -d 30 - montre que l'un des disque dur (sda) dans le système est très utilisé. Ce disque dur sert uniquement de base de données mysql. Les DB les plus fréquemment utilisés ont été déplacés vers d'autres disques durs (sdb, sdd) via des liens symboliques. Maintenant atopsar montre presque la même charge pour sda et moins de 5% de charge à d'autres disques durs.

Y at-il un moyen de savoir quels fichiers sont lourdement utilisés sur le disque dur?

Est-ce que les fichiers journaux de InnoDB mysql (ib_logfile) sont fragmentés? Et donc atopsar montrent une telle grande charge (50% -70%). Que peut-on faire dans ce cas?

Il y a une sortie de atopsar -d 30:

08:52:47 disk   busy read/s KB/read writ/s KB/writ avque avserv _dsk_ 
08:53:17 sda    63% 0.0  0.0 50.2 14.6 1.1 12.57 ms 
      sdb    5% 0.0  0.0  9.4 19.8 4.2 5.81 ms 
      sdd    2% 0.0  0.0  3.7 18.9 1.4 5.82 ms 
08:53:47 sda    60% 0.0 16.0 48.1 15.7 1.0 12.55 ms 
      sdb    5% 0.0  0.0  6.9 17.5 4.6 7.35 ms 
      sdd    2% 0.0  0.0  4.7 24.9 1.4 4.06 ms 
08:54:17 sda    38% 0.5 16.0 30.6 15.6 1.2 12.25 ms 
      sdb    3% 0.0  0.0  5.6 18.3 3.3 5.50 ms 
      sdd    2% 0.0  0.0  3.3 19.2 1.1 4.86 ms 
08:54:47 sda    53% 0.0  0.0 42.5 16.5 1.1 12.37 ms 
      sdb    6% 0.0  0.0  8.7 21.0 5.8 6.37 ms 
      sdd    2% 0.0  0.0  3.1 23.1 1.3 5.68 ms 
08:55:17 sda    51% 0.0  4.0 42.7 16.9 1.1 11.94 ms 
      sdb    5% 0.0  0.0  9.4 20.5 5.0 5.51 ms 
      sdd    1% 0.0  0.0  1.5 17.6 1.1 7.73 ms 
08:55:47 sda    52% 0.0  0.0 40.6 14.5 1.0 12.85 ms 
      sdb    5% 0.0  0.0  6.8 19.5 5.4 6.66 ms 
      sdd    2% 0.0  0.0  4.3 31.3 1.3 4.78 ms 

Répondre

3

pour connaître les fichiers les plus utilisés dans le système s'il vous plaît utiliser: sudo pt-ioprofile -cell sizes Exemple de sortie:

 
    total  pread  read  pwrite  fsync  lseek filename 
    10862592   0   0 10862592   0   0 /var/mysqldata/mysql/ibdata1 
    827392   0   0  827392   0   0 /var/mysqllog/mysql/ib_logfile0 
... (other trivial I/O records truncated) 

a obtenu de https://dba.stackexchange.com/questions/21209/innodb-high-disk-write-i-o-on-ibdata1-file-and-ib-logfile0

S'il vous plaît noter que par défaut boîte à outils Percona attache uniquement à mysqld. Et pour trouver le fichier le plus utilisé, vous devez l'exécuter sur tous les processus susceptibles de créer une telle charge. Dans mon cas, j'étais sûr que c'était un serveur mysql, donc ça me suffit. Veuillez lire le http://www.percona.com/doc/percona-toolkit/2.0/pt-ioprofile.html avant de l'utiliser.

0

Essayez avec enquête

dstat --top-bio 

il vous donnera les processus qui utilisent la plupart des IO. Sous Linux, vous avez/proc/diskstats - il ne donne que des statistiques de niveau de périphérique de bloc. Je n'ai jamais vu un mécanisme pour déterminer quel fichier est occupé dans Linux.

5

Il est un outil sysdig qui vous permettent de voir les activités à l'échelle du système, tout comme strace fait pour seul processus: http://www.sysdig.org/

Il existe des exemples pour les informations d'utilisation de disque: https://github.com/draios/sysdig/wiki/Sysdig%20Examples#disk-io

Voir les principaux processus de Conditions d'utilisation de la bande passante du disque

sysdig -c topprocs_file 

Voir les fichiers top en termes de lecture et écriture octets

sysdig -c topfiles_bytes 

Imprimer les fichiers haut que apache a été la lecture ou l'écriture à

sysdig -c topfiles_bytes proc.name=httpd 

Voir la top répertoires en termes d'activité de disque R + W

sysdig -c fdbytes_by fd.directory "fd.type=file" 

Voir les fichiers top en termes d'activité de disque R + W dans le répertoire/tmp sysdig -c fdbytes_by fd.filename "fd.directory =/tmp /"

Observer I/activité O sur tous les fichiers nommés 'passwd'

sysdig -A -c echo_fds "fd.filename=passwd" 

Sysdig est un outil moderne et pratique.Pour les systèmes Linux âgées est-il possible d'obtenir des informations similaires en utilisant SystemTap: http://lukas.zapletalovi.com/2014/05/systemtap-as-a-system-wide-strace-tool.html

PS Merci à habrahabr.ru avec ce post sur Sysdig http://habrahabr.ru/company/selectel/blog/222839/

PPS Brendan D. Gregg a créé cette image « Une visite rapide de nombreux outils. .. » pour son Linux Performance page:

Brendan D. Gregg about linux performance and tracing

+0

Ce n'est pas disponible dans les dépôts Ubuntu – Index

+0

http://www.sysdig.org/install/ - le programme d'installation de sysdig prend en charge ubuntu à partir de 10.04: 'curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash' – osgx

+0

Bien sûr, j'ai lu qu'il est possible et facile à installer sur Ubuntu. Mais pour être honnête, je ne fais pas complètement confiance à soft qui n'est pas dans le référentiel. Spécialement quand il s'agit de serveur de production proche. Donc, je préfère l'outil percona décrit par moi. – Index

Questions connexes