Indicadores de rendimiento comunes de la CPU:
Utilización, promedio de carga, cambio de contexto
1. Práctica de ajuste de CPU
Práctica 1: el uso de la CPU del usuario es alto, encuentre la razón y encuentre el punto de cuello de botella del código
Práctica 1 entorno de construcción:
$ cat /tftpboot/test.sh
!/bin/bash
stress --cpu 1 --timeout 12000
Práctica 2: interrupción suave si: el uso de la CPU es alto, encuentre cuellos de botella en el código
El motivo de la red se puede verificar dos veces con otra herramienta: verifique la frecuencia de envío y recepción de paquetes
nethogs
Construcción del entorno para la práctica 2:
host A(本机):
iperf -s -p 10000
host B:
iperf -c 172.21.92.104 -p 10000 -t 10000
Práctica 3: Averigüe la causa del alto uso de la CPU --- nivel de presión de io
Construcción del entorno:
vi test.c
include
include
include
include
include
int main()
{
printf("pid=%d\n", getpid());
char *p = "0123456789\n";
while(1) {
int fd, len;
fd = open("./test.txt", ORDWR|OCREAT|O_APPEND);
if(fd == -1) {
perror("open");
return -1;
}
write(fd, p, strlen(p));
fsync(fd);
close(fd);
}
return 0;
}
Métodos comunes de ajuste de la CPU:
2. Práctica de ajuste de memoria
Algoritmo asociado: la función de gestión de la memoria física se gestiona en el estado del núcleo de la CPU, no en el estado de la aplicación, 4096 (4kb) bytes por bloque, divididos en cuatro bloques
memoria de gestión de losa: gestión de memoria pequeña
La memoria utilizada por un proceso se puede medir mediante PSS y RSS.
Calcular Pss de un proceso:
$ cat /proc/1/smaps | grep Pss | awk '{total+=$2}; END {print total}'