2

Допустим, я работаю в компании, и у этой компании есть только один сервер. В конце каждого месяца мой босс входит в мой офис и спрашивает меня: «Нужны ли нам новые процессоры?». Скажем также, что, как правило, компании нужны новые процессоры, если используется более 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

0