Допустим, я работаю в компании, и у этой компании есть только один сервер. В конце каждого месяца мой босс входит в мой офис и спрашивает меня: «Нужны ли нам новые процессоры?». Скажем также, что, как правило, компании нужны новые процессоры, если используется более 70% «системных ресурсов». При наборе lscpu я получаю
fabi@alien-linux:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
...
Поэтому я вычисляю
X = (Nr of CPUs)*(Nr of sockets)*(Nr of cores per socket)*(Threads per core)
что 84 в моем случае. Для простоты, давайте предположим, что я выполняю "top" с очень высокой частотой дискретизации в течение месяца, и он постоянно показывает
50.0 50.0 50.0
это означает, что в среднем 50 процессов фактически обрабатывались ядрами, ожидающими обработки, или находились в состоянии "UNINTERRUPTABLE". Хорошо я вычисляю
0.7 * 84 = 58.8
так что это означает «70% системных ресурсов = 58,8 процессов».
Поскольку у меня всего 50 процессов, я могу ответить «нет» своему боссу, нам не нужно новое оборудование.
Вот мой вопрос:
Это правильно?
Вопрос был задан здесь , и ответ был , что это вычисление не является правильным. Я не понимаю почему...
с уважением,
FW