Если вы хотите избежать использования виртуальных ядер или «потоков», вы можете просто отключить эту функцию. Хотя отключение этой функции не обязательно улучшит производительность, это зависит от используемого вами серверного программного обеспечения (есть механизмы, которые лучше работают с HT/SMT, а другие нет ), вам, вероятно, следует протестировать его.
Согласно вашему сообщению, Intel X5650 имеет 6 ядер и 12 потоков каждый. Вы можете проверить это с помощью lscpu
. Например. следующий ЦП имеет 4 ядра и HT отключен:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Вы можете проверить ядра HT, запустив:
# grep -H. /sys/devices/system/cpu/cpu*/topology/thread_siblings_list
Это выведет что-то вроде:
$ grep -H. /sys/devices/system/cpu/cpu*/topology/thread_siblings_list
/sys/devices/system/cpu/cpu0/topology/thread_siblings_list:X,Y
/sys/devices/system/cpu/cpu1/topology/thread_siblings_list:X,Y
/sys/devices/system/cpu/cpu2/topology/thread_siblings_list:X,Y
/sys/devices/system/cpu/cpu3/topology/thread_siblings_list:X,Y
Где X,Y — физический -Core -ID,HT -Core -ID, как в :0,4 (первый виртуальный ID ядра обычно следующий за последний физический ).
С этой информацией у вас есть 2 варианта отключения HT,в зависимости от вашего доступа к серверу:
Через настройки биоса (проще всего)
Через командную строку (перезагрузка не требуется)
disablevcore.sh
файл: #!/bin/bash
for i in {YY..YY}; do
echo "Disabling logical HT core $i."
echo 0 > /sys/devices/system/cpu/cpu${i}/online;
done
И замените YY..YY для идентификатора потока, который вы хотите отключить, согласно вашим процессорам, возможно, {6..11}. Хотя я не уверен, как нумерация работает на установках с несколькими сокетами -, поэтому вам следует внимательно проверить.
Другой вариант (2.a, если хотите ), отключить его в GRUB:
/etc/sysconfig/grub
(, если и добавьте noht
в строку, начинающуюся с:GRUB_CMDLINE_LINUX
. Это должно быть что-то вроде этого:GRUB_CMDLINE_LINUX="... noht..."
Hyper-threading is Intel's proprietary simultaneous multithreading implementation used to improve parallelization of computations performed on x86 microprocessors. It first appeared in February 2002 on Xeon server processors and in November 2002 on Pentium 4 desktop CPUs. Later, Intel included this technology in Itanium, Atom, and Core 'i' Series CPUs, among others.
https://en.wikipedia.org/wiki/Hyper-threading
Simultaneous multithreading is a technique for improving the overall efficiency of superscalar CPUs with hardware multithreading. SMT permits multiple independent threads of execution to better utilize the resources provided by modern processor architectures.
https://en.wikipedia.org/wiki/Simultaneous_multithreading
https://www.golinuxhub.com/2018/01/how-to-disable-or-enable-hyper.html
С сайта snaphttps://snapcraft.io/docs/installing-snap-on-centos
Необходимо включить репозиторий CR (Continuous Release ). Попробуйте запустить sudo yum-config-manager --enable cr
, а затем sudo yum install snapd
. Это должно исправить ошибку.
Выпуск CentOS 7.9 теперь доступен в репозитории base
вместе с необходимой версией selinux-policy-base
.
Просто запустите yum update
для установки centos-release-7-9.2009.0.el7.centos
, после чего вы сможете установить snap
с помощью yum install snapd
.
По какой-то причине для этого требуется CentOS 7.9, которая еще не выпущена. Вы можете либо перейти на постоянный выпуск CentOS, выполнив sudo yum --enablerepo=cr update
, либо дождаться CentOS 7.9
Попробуйте переустановитьselinux -policyиselinux -policy -targetнепосредственно с локального/удаленного пути, например:
$ sudo yum remove selinux-policy-base
Removed:
selinux-policy-minimum.noarch 0:3.13.1-268.el7
selinux-policy-targeted.noarch 0:3.13.1-268.el7
$ sudo yum install \
http://mirror.centos.org/centos/7/updates/x86_64/Packages/selinux-policy-3.13.1-268.el7_9.2.noarch.rpm \
http://mirror.centos.org/centos/7/updates/x86_64/Packages/selinux-policy-targeted-3.13.1-268.el7_9.2.noarch.rpm
После этого установка snapd должна работать:
$ sudo yum install snapd
Updated:
snapd.x86_64 0:2.47.1-1.el7
Dependency Updated:
snap-confine.x86_64 0:2.47.1-1.el7 snapd-selinux.noarch 0:2.47.1-1.el7
Complete!