Verifique el espacio en disco
Verifique el espacio restante en el disco
Vea el df -hl
comando de uso de espacio en disco restante :
[root@localhost ~]# df -hl
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 678M 0 678M 0% /dev
tmpfs 695M 0 695M 0% /dev/shm
tmpfs 695M 28M 667M 4% /run
tmpfs 695M 0 695M 0% /sys/fs/cgroup
/dev/mapper/centos_aubin-root 27G 5.6G 22G 21% /
/dev/sda1 1014M 211M 804M 21% /boot
Ver el espacio utilizado en el disco
du -sh
El comando es para ver el espacio utilizado del disco. El "espacio de disco utilizado" aquí significa el espacio utilizado por toda la jerarquía de archivos bajo el archivo especificado. Si no se proporcionan parámetros, du
informe el espacio utilizado del espacio de disco del directorio actual. De hecho, es para mostrar el espacio en disco ocupado por archivos o directorios :
[root@localhost ~]# du -sh
64K
-
-h
: Muestra el uso de la partición del sistema de archivos, por ejemplo: 10 KB, 10 MB, 10 GB, etc. -
-s
: Muestra el tamaño del archivo o el directorio completo, la unidad predeterminada es KB.
du
La información detallada se puedeman du
ver a través de .
Ver las condiciones de lectura y escritura del disco
Ver las condiciones generales de lectura y escritura del disco
A través de iostat
para ver la situación general de lectura y escritura del disco:
[root@localhost ~]# iostat
Linux 3.10.0-1062.el7.x86_64 (localhost.localdomain) 2020年05月02日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 0.20 0.46 0.00 99.17
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.56 30.45 39.61 4659620 6060644
scd0 0.00 0.02 0.00 3102 0
dm-0 1.96 30.01 38.42 4591998 5878155
dm-1 0.09 0.09 0.30 13840 45328
-
tps
: El número de transmisiones por segundo del dispositivo. -
kB_read/s
: La cantidad de datos leídos desde el dispositivo (unidad expresada) por segundo; -
kB_wrtn/s
: La cantidad de datos escritos en el dispositivo (unidad expresada) por segundo; -
kB_read
: La cantidad total de datos leídos; -
kB_wrtn
: La cantidad total de datos escritos;
Ver condiciones detalladas de lectura y escritura del disco
A través de iostat -x 1 3
puede ver la lectura y escritura del disco en detalle, hay 3 salidas en total sin salida cada segundo. Cuando vea que el tiempo de espera de E / S representa una alta proporción del tiempo de CPU, lo primero que debe verificar es si la máquina se está utilizando en una gran cantidad. Intercambie espacio y preste atención a iowait
si el consumo de la CPU es grande. Si es grande, significa que el disco tiene un gran cuello de botella. Al mismo tiempo, preste atención a await
los El tiempo de respuesta del disco debe ser inferior a 5 ms:
[root@localhost ~]# iostat -x 1 3
Linux 3.10.0-1062.el7.x86_64 (localhost.localdomain) 2020年05月02日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 0.20 0.46 0.00 99.16
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.01 0.49 0.63 0.95 30.59 39.78 89.58 0.34 214.23 49.16 323.48 8.55 1.34
scd0 0.00 0.00 0.00 0.00 0.02 0.00 98.48 0.00 1.21 1.21 0.00 0.95 0.00
dm-0 0.00 0.00 0.62 1.35 30.15 38.59 69.70 0.91 460.67 49.12 648.54 6.66 1.31
dm-1 0.00 0.00 0.02 0.07 0.09 0.30 8.52 0.04 442.74 95.43 521.17 6.91 0.06
avg-cpu
Indica las estadísticas generales de uso de la CPU. Para la CPU de varios núcleos, este es el valor promedio de todas las CPU:
-
%user
: El porcentaje de tiempo que la CPU está en modo de usuario. -
%nice
: El porcentaje de tiempo que la CPU está en modo de usuario con un valor NICE. -
%system
: El porcentaje de tiempo que la CPU está en modo de sistema. -
%iowait
: El porcentaje de tiempo que los CPU espera para la finalización de entrada y salida. Si el valor de% iowait es demasiado alto, indica que el disco duro tiene un I / O cuello de botella . -
%steal
: El porcentaje de tiempo de espera inconsciente de la CPU virtual cuando el hipervisor mantiene otro procesador virtual. -
%idle
: Porcentaje de tiempo de inactividad de la CPU. Si el valor de% inactivo es alto, significa que la CPU está relativamente inactiva; si el valor de% inactivo es alto pero el sistema responde lentamente, es posible que la CPU esté esperando para asignar memoria y la memoria se debe aumentar la capacidad; si el valor de% inactivo es continuamente inferior a 10, muestra que la potencia de procesamiento de la CPU es relativamente baja y que el recurso más necesario en el sistema es la CPU. .
Device
Indica información del dispositivo:
-
rrqm/s
: La cantidad de veces que las solicitudes de lectura al dispositivo se fusionan por segundo y el sistema de archivos fusiona las solicitudes para leer el mismo bloque -
wrqm/s
: El número de solicitudes de escritura combinadas a este dispositivo por segundo -
r/s
: El número de lecturas completadas por segundo -
w/s
: El número de escrituras completadas por segundo -
rkB/s
: La cantidad de datos leídos por segundo (kB como unidad) -
wkB/s
: La cantidad de datos escritos por segundo (kB como unidad) -
avgrq-sz
: La cantidad promedio de datos por operación de E / S (el número de sectores es la unidad) -
avgqu-sz
: La longitud promedio de la cola de solicitudes de E / S en espera de ser procesada -
await
: Tiempo de espera promedio para cada solicitud de E / S (incluido el tiempo de espera y el tiempo de procesamiento, en milisegundos) -
svctm
: El tiempo medio de procesamiento de cada solicitud de E / S (en milisegundos) -
%util
: Qué porcentaje de un segundo se gasta en E / S. Si% util está cerca del 100%, significa que se generan demasiadas solicitudes de E / S y el sistema de E / S está completamente cargado.idle
Si la presión de IO es inferior al 70%, la presión de IO es mayor y, en general, la velocidad de lectura tiene más espera.
iostat -xmd 1 3
: La nuevam
opción se puede utilizarM
como una unidad en la salida .
Ver el proceso que más IO consume
Generalmente, primero iostat
verifique si hay un cuello de botella de io y luego use el iotop
comando para localizar qué proceso consume más IO:
[root@localhost ~]# iotop
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
123931 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.02 % [kworker/1:30]
94208 be/4 xiaolyuh 0.00 B/s 0.00 B/s 0.00 % 0.00 % nautilus-desktop --force [gmain]
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --system --deserialize 62
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
94211 be/4 xiaolyuh 0.00 B/s 0.00 B/s 0.00 % 0.00 % gvfsd-trash --spawner :1.4 /org/gtk/gvfs/exec_spaw/0
4 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H]
6 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched]
10 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [lru-add-drain]
...
Podemos analizar por iostat -d -k -x
La última columna% util puede ver el grado de escritura en cada disco, mientras que rrqpm / sy wrqm / s representan las velocidades de lectura y escritura respectivamente, lo que generalmente puede ayudar a localizar el disco específico que tiene un problema.
Además, también necesitamos saber qué proceso está leyendo y escribiendo.En términos generales, el desarrollador lo conoce bien o usa el comando iotop para localizar la fuente de lectura y escritura del archivo.
Pero lo que tenemos aquí es tid, necesitamos convertirlo a pid, podemos encontrar pid a través de readlink, readlink -f /proc/*/task/tid/../ ..
Después de encontrar el pid, puede ver las condiciones específicas de lectura y escritura de este proceso cat / proc / pid / io
También podemos usar el comando lsof para determinar las condiciones específicas de lectura y escritura del archivo lsof -p pid
A través de iotop -p pid
usted puede ver la situación de IO de un solo proceso:
[root@localhost ~]# iotop -p 124146
Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
124146 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % java -jar arthas-demo.jar