Operación y mantenimiento: solucione rápidamente el proceso de problemas del sistema operativo

En nuestro entorno de trabajo, a menudo aparecen varios problemas de proceso, y lo que tenemos que hacer es descubrir y resolver problemas rápidamente.

  • Nuestros problemas comunes de procesos se dividen generalmente en dos categorías: uso excesivo de recursos y problemas de estado del proceso.
  • El uso excesivo de recursos generalmente se refiere al uso excesivo de CPU, memoria, E / S y manejadores de archivos. Afectan generalmente el funcionamiento estable del negocio o causan problemas con otros procesos de servicio.
  • Los problemas de estado del proceso son generalmente procesos zombies y estados de suspensión ininterrumpida, que pueden causar problemas en los servicios empresariales.
  • Enumere algunos problemas comunes del proceso:
    Inserte la descripción de la imagen aquí
  • Para estos problemas comunes, podemos usar los siguientes comandos para analizar
  • (Para conocer los parámetros de opción específicos de estos comandos, descúbralo usted mismo)
top:实时显示系统中各个进程的资源占用状态
ps:显示瞬间进程的状态
strace:跟踪进程的系统调用
lsof:列出某个程序进程所打开的文件信息
free:用来查看系统可用内存
iostat:动态监视系统磁盘操作活动
vmstat:实时动态监控操作系统的虚拟内存、进程、cpu活动
ldd:用来查看程序运行所需的共享库

Cómo solucionar el problema del proceso

Solucionar problemas de uso de recursos de la CPU

  • Ingrese el topcomando para enumerar el uso de recursos del proceso, presione y mantenga presionado shift+ppara ordenar por el tamaño del uso de la CPU, puede ver intuitivamente el uso de la CPU de cada proceso
top

Inserte la descripción de la imagen aquí
Extraiga el estado del proceso del sistema instantáneo

  • Extraemos los diez procesos principales en orden descendente de uso de CPU
  • De esta forma, podemos ver los diez procesos que más cpu utilizan a través de COMMAND
ps -aux --sort=-%cpu|head -n 10
[root@centos7 ~]# ps -aux --sort=-%cpu|head -n 10
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root        953  0.2  0.2 273196  4876 ?        Ssl  3月05   0:14 /usr/bin/vmtoolsd
root       1959  0.2  0.0      0     0 ?        S    00:08   0:00 [kworker/0:3]
root        415  0.1  0.0      0     0 ?        S    3月05   0:07 [xfsaild/dm-0]
root       1910  0.1  0.0      0     0 ?        S    3月05   0:01 [kworker/0:1]
root       1937  0.1  0.0      0     0 ?        S    00:00   0:01 [kworker/0:2]
root          1  0.0  0.2 125768  4260 ?        Ss   3月05   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    3月05   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   3月05   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    3月05   0:00 [ksoftirqd/0]

Demasiados recursos de memoria utilizados por el proceso de búsqueda

  • Todavía use el topcomando, de acuerdo Shift+mcon el orden de acuerdo con la memoria
  • psEl comando es el mismo, reemplace -% cpu con -% MEM para
    Inserte la descripción de la imagen aquí
    analizar la E / S del disco
  • Use el iostatcomando para ver
  • yum -y install sysstatComando para instalar si no está instalado
iostat 2 1
[root@centos7 ~]# iostat 2 1
Linux 3.10.0-1160.el7.x86_64 (centos7) 	2021年03月06日 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.10    0.00    0.25    0.02    0.00   99.63

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.00        19.20         2.40     106015      13243
scd0              0.00         0.19         0.00       1028          0
dm-0              0.67        17.03         2.03      94054      11195
dm-1              0.02         0.40         0.00       2204          0
  • Dos parámetros: 2 representa la frecuencia de actualización, 1 representa el número total de veces
  • KB_read / s significa lectura; KB_wrtn / s significa escritura
  • Con la opción -x, puede ver el estado de carga del disco actual más claramente
  • Si desea saber más sobre el uso de IO del proceso, puede usar el iotopcomando
  • Nota: Este comando puede ser el problema de los descriptores de archivos ocupados por procesos que ocupan un gran rendimiento del sistema.
    Inserte la descripción de la imagen aquí
  • En primer lugar, podemos ver el número total de identificadores de archivos que el sistema permite que se abran todos los procesos. Este valor representa el número máximo de fd que pueden abrir todos los procesos del sistema.
[root@centos7 ~]# cat /proc/sys/fs/file-max 
190603
  • A veces es necesario ver el número de fd abiertos y que se permite abrir en todos los procesos actuales.
[root@centos7 fs]# cat /proc/sys/fs/file-nr 
1152	0	190603
  • También podemos ser precisos en el número de fd que un proceso puede abrir, porque además del límite en el número total, el sistema también tiene restricciones en un solo proceso.
[root@centos7 ~]# ulimit -n
1024
  • Queremos saber qué fd está abierto actualmente por un proceso
ll /rpoc/{pid}/fd
  • Ingrese el número pid del proceso que desea conocer, si hay más contenido, puede agregar wcestadísticas
  • Si el proceso abre demasiados identificadores de archivos y excede el límite del sistema, puede causar que el proceso o el servicio se vea afectado, lo cual debe revisarse y ajustarse.

Proceso zombi

  • Después del proceso hijo exit (), no desaparece inmediatamente. En su lugar, se deja que el proceso padre procese una estructura de datos (zombi). Si después del proceso hijo exit (), el proceso padre no ha tenido tiempo de lidiar con él, en este momento el estado del proceso hijo es Z
  • Puede usar toppara ver el proceso zombie del sistema actual
    Inserte la descripción de la imagen aquí
  • También puede verlo mediante la combinación de ps + grep
ps -e -o ppid,stat | grep Z
  • Mátelo cuando lo encuentre, encuentre y elimine el proceso zombie a través del siguiente comando
 ps -e -o ppid,stat | grep Z | cut -d "" -f2 | xargs kill -9

Procesar el estado de suspensión ininterrumpida

  • Los estados de sueño interrumpibles generalmente se representan con "S", y los estados de sueño ininterrumpible generalmente se representan con "D"
  • Generalmente, en este caso, reinicie el sistema cuando todo esté bien.
以上内容都是我买的一个小课里的,只有命令总结,没写描述性的文字,所有可能有的地方不是很清晰,见谅。
嘿嘿。应该不会有什么侵权什么的吧?是吧?是吧?

Supongo que te gusta

Origin blog.csdn.net/qq_42527269/article/details/114418893
Recomendado
Clasificación