В нашей компании есть некоторые сторонние продукты, установленные на системах CentOS / RHEL.
Группе приложений необходимо было сделать некоторый учет того, как каждый продукт был лицензирован с использованием количества сокетов процессора в каждой системе.
К сожалению, у них не было никакого CMDB (Configuration Management Database – это очень удобный инструмент, когда дело доходит до инвентаризации).
Вот краткий анонс, как получить количество сокетов CPU в системе CentOS / RHEL.
Определить количество сокетов CPU
1. Чтобы точно определить количество сокетов процессора в системе без физического открытия и проверки вручную, необходимо полагаться на таблицу DMI системы (заполненную BIOS).
Установите пакет dmidecode (если необходимо), а затем, используя root, выполните следующие действия:
# dmidecode -t4 | grep Socket.Designation: | wc -l
2. Если все сокеты центрального процессора в системе заполнены (т. е каждый сокет имеет в нем процессор), выполнение любого из следующего, как обычного пользователя, будет достаточным:
– Обратитесь к файлу /proc/cpuinfo, например:
$ grep physical.id /proc/cpuinfo | sort -u | wc -l
– RHEL6 и выше: используйте команду lscpu, например:
$ lscpu | grep -i "socket(s)"
– RHEL6 и выше: используйте команду lstopo, предоставляемую пакетом hwloc, например:
$ lstopo --whole-system --only Socket