Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 24 апр 2019, 07:30

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 16 апр 2017, 15:21 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Эта тема временами мелькает, например здесь: отключение CPU без перезагрузки системы.
Но её чаще упоминают в обсуждениях администраторы могучих корпоративных серверов, когда несколько сокетов, на которых установлены чипы CPU, и таким способом можно (в крайнем случае) заменить один из CPU в горячем режиме, не останавливая работу сервера.

Меня же интересует эта сторона совсем в другом контексте: управление ядрами процессора в Linux, влияние и использование этого в параллельном многопоточном выполнении приложений.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 16 апр 2017, 15:23 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Но, попутно, там очень любопытные детали вылезают...
Это Mint 18.1 ...
Код:
olej@nvidia /sys/devices/system/cpu $ lsb_release -a
No LSB modules are available.
Distributor ID:   LinuxMint
Description:   Linux Mint 18.1 Serena
Release:   18.1
Codename:   serena

Процессор:
Код:
olej@nvidia /sys/devices/system/cpu $ lscpu
Архитектура:x86_64
CPU op-mode(s):        32-bit, 64-bit
Порядок байтов:Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Потоков на ядро:1
Ядер на сокет:2
Сокет(ы):        1
NUMA node(s):          1
Vendor ID:             GenuineIntel
Семейство CPU:6
Модель:          23
Model name:            Pentium(R) Dual-Core  CPU      E6600  @ 3.06GHz
Stepping:              10
CPU МГц:            1603.000
CPU max MHz:           3066,0000
CPU min MHz:           1603,0000
BogoMIPS:              6138.85
Виртуализация:VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              2048K
NUMA node0 CPU(s):     0,1
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm tpr_shadow vnmi flexpriority dtherm

Т.е. имеем Dual-Core 2 ядра с гипертриэдингом.
А теперь настройки:
Код:
olej@nvidia /sys/devices/system/cpu $ cat /proc/cpuinfo | grep processor | wc -l
2
olej@nvidia /sys/devices/system/cpu $ pwd
/sys/devices/system/cpu
olej@nvidia /sys/devices/system/cpu $ cat online
0-1
olej@nvidia /sys/devices/system/cpu $ cat offline
2-3

О-ба-на :!: :shock:
Получается ( :?: ) что гипертриэдинг у них отключен?


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 16 апр 2017, 15:25 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Но, попутно, там очень любопытные детали вылезают...

А это вот Fedora 23 ...
Код:
[olej@dell cpu]$ lsb_release -a
LSB Version:   :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID:   Fedora
Description:   Fedora release 23 (Twenty Three)
Release:   23
Codename:   TwentyThree

Процессор:
Код:
[olej@dell 16]$ lscpu
Архитектура:x86_64
CPU op-mode(s):        32-bit, 64-bit
Порядок байт:Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Ядер на сокет:4
Сокетов:        1
NUMA node(s):          1
ID прроизводителя:GenuineIntel
Семейство ЦПУ:6
Модель:          30
Имя модели:   Intel(R) Core(TM) i7 CPU       Q 720  @ 1.60GHz
Степпинг:      5
CPU MHz:               933.000
CPU max MHz:           1600,0000
CPU min MHz:           933,0000
BogoMIPS:              3192.24
Виртуализация:VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7
Флаги:            fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm ida

i7, 4 ядра, с гипертриэдингом.
Но :!:
Код:
[olej@dell 16]$ cat /proc/cpuinfo | grep processor | wc -l
8
[olej@dell 16]$ cd /sys/devices/system/cpu
[olej@dell cpu]$ cat online
0-7
[olej@dell cpu]$ cat offline



Получается, разные дистрибутивы по разному используют гипертриэдинг. :?:
Это не очевидно и достаточно серьёзно!
Т.е. один и тот же Linux, на однм и том же CPU будет использовать в одном случае 8 процессоров (в смысле /proc/cpuinfo), а в другом случае - 4.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 17 апр 2017, 00:01 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Теперь о отключении/включении CPU...
Для экспериментов возьму "чистый" процессор Xeon, без гипертриэдинга, число CPU совпадает с числом ядер:
Код:
[olej@xeon ~]$ lscpu
Архитектура:x86_64
CPU op-mode(s):        32-bit, 64-bit
Порядок байт:Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Ядер на сокет:4
Сокетов:        1
NUMA node(s):          1
ID прроизводителя:GenuineIntel
Семейство ЦПУ:6
Модель:          23
Имя модели:   Intel(R) Xeon(R) CPU           L5420  @ 2.50GHz
Степпинг:      6
CPU MHz:               2003.000
CPU max MHz:           2499,0000
CPU min MHz:           2003,0000
BogoMIPS:              5000.13
Виртуализация:VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              6144K
NUMA node0 CPU(s):     0-3
Флаги:            fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority dtherm

Система Fedora 24:
Код:
[olej@xeon ~]$ lsb_release -a
LSB Version:   :core-4.1-amd64:core-4.1-noarch
Distributor ID:   Fedora
Description:   Fedora release 24 (Twenty Four)
Release:   24
Codename:   TwentyFour

Код:
[root@xeon ~]# cd /sys/devices/system/cpu
[root@xeon cpu]# ls -l
итого 0
drwxr-xr-x. 8 root root    0 Апр 16 13:53 cpu0
drwxr-xr-x. 8 root root    0 Апр 16 13:53 cpu1
drwxr-xr-x. 8 root root    0 Апр 16 13:53 cpu2
drwxr-xr-x. 8 root root    0 Апр 16 13:53 cpu3
drwxr-xr-x. 7 root root    0 Апр 16 14:12 cpufreq
drwxr-xr-x. 2 root root    0 Апр 17 00:01 cpuidle
drwxr-xr-x. 2 root root    0 Апр 17 00:01 hotplug
-r--r--r--. 1 root root 4096 Апр 17 00:01 isolated
-r--r--r--. 1 root root 4096 Апр 17 00:01 kernel_max
drwxr-xr-x. 2 root root    0 Апр 17 00:01 microcode
-r--r--r--. 1 root root 4096 Апр 17 00:01 modalias
-r--r--r--. 1 root root 4096 Апр 17 00:01 nohz_full
-r--r--r--. 1 root root 4096 Апр 17 00:01 offline
-r--r--r--. 1 root root 4096 Апр 16 13:53 online
-r--r--r--. 1 root root 4096 Апр 17 00:01 possible
drwxr-xr-x. 2 root root    0 Апр 17 00:01 power
-r--r--r--. 1 root root 4096 Апр 17 00:01 present
-rw-r--r--. 1 root root 4096 Апр 17 00:01 uevent

[root@xeon cpu]# cat online
0-3
[root@xeon cpu]# cat offline



Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 17 апр 2017, 00:14 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Теперь о отключении/включении CPU...
Для экспериментов возьму "чистый" процессор Xeon, без гипертриэдинга, число CPU совпадает с числом ядер:
...
Система Fedora 24:

Отключаю:
Код:
[root@xeon cpu]# echo 0 > cpu0/online
-bash: cpu0/online: Permission denied
[root@xeon cpu]#
[root@xeon cpu]# echo 0 > cpu1/online
[root@xeon cpu]# echo 0 > cpu2/online
[root@xeon cpu]# cat offline
1-2
[root@xeon cpu]# cat online
0,3

Код:
[root@xeon cpu]# lscpu
Архитектура:x86_64
CPU op-mode(s):        32-bit, 64-bit
Порядок байт:Little Endian
CPU(s):                4
On-line CPU(s) list:   0,3
Off-line CPU(s) list:  1,2
Thread(s) per core:    1
Ядер на сокет:2
Сокетов:        1
NUMA node(s):          1
ID прроизводителя:GenuineIntel
Семейство ЦПУ:6
Модель:          23
Имя модели:   Intel(R) Xeon(R) CPU           L5420  @ 2.50GHz
Степпинг:      6
CPU MHz:               2003.000
CPU max MHz:           2499,0000
CPU min MHz:           2003,0000
BogoMIPS:              5000.13
Виртуализация:VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              6144K
NUMA node0 CPU(s):     0,3
Флаги:            fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority dtherm

Код:
[root@xeon cpu]# cat /proc/cpuinfo | grep processor | wc -l
2

Смотрю чем отличается CPU0 от остальных процессоров:
Код:
[root@xeon cpu]# ls -l cpu[1-3]/online
-rw-r--r--. 1 root root 4096 Апр 17 00:06 cpu1/online
-rw-r--r--. 1 root root 4096 Апр 17 00:07 cpu2/online
-rw-r--r--. 1 root root 4096 Апр 16 13:53 cpu3/online
[root@xeon cpu]# ls -l cpu0/online
ls: невозможно получить доступ к 'cpu0/online': No such file or directory

Т.е. отключить процессор CPU0 мы не сможем!


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 17 апр 2017, 00:19 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Отключаю:

Теперь снова их включаю:
Код:
[root@xeon cpu]# echo 1 > cpu1/online
[root@xeon cpu]# echo 1 > cpu2/online

Теперь процессоров снова 4:
Код:
[root@xeon cpu]# cat online
0-3
[root@xeon cpu]# cat offline

[root@xeon cpu]# cat /proc/cpuinfo | grep processor | wc -l
4


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: отключение/включение CPU
Непрочитанное сообщениеДобавлено: 17 апр 2017, 00:51 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 11699
Откуда: Харьков
Olej писал(а):
Т.е. отключить процессор CPU0 мы не сможем!

Mint 17.3
Код:
atom cpu # lsb_release -a
No LSB modules are available.
Distributor ID:   LinuxMint
Description:   Linux Mint 17.3 Rosa
Release:   17.3
Codename:   rosa
atom cpu # cat /proc/cpuinfo | grep processor | wc -l
2

Здесь есть какие-то странности:
Код:
atom ~ # cd /sys/devices/system/cpu
atom cpu # cat online
0-1
atom cpu # cat offline
2-7

Но точно также CPU0 не подлежит отключению:
Код:
atom cpu # ls -l cpu0/online
ls: невозможно получить доступ к cpu0/online: Нет такого файла или каталога
atom cpu # ls -l cpu1/online
-rw-r--r-- 1 root root 4096 Апр 16 13:37 cpu1/online

Mint 18.1
Та же история:
Код:
olej@nvidia ~ $  cd /sys/devices/system/cpu
olej@nvidia /sys/devices/system/cpu $ lsb_release -a
No LSB modules are available.
Distributor ID:   LinuxMint
Description:   Linux Mint 18.1 Serena
Release:   18.1
Codename:   serena
olej@nvidia /sys/devices/system/cpu $ cat /proc/cpuinfo | grep processor | wc -l
2

Код:
olej@nvidia /sys/devices/system/cpu $ ls -l cpu0/online
ls: невозможно получить доступ к 'cpu0/online': Нет такого файла или каталога
olej@nvidia /sys/devices/system/cpu $ ls -l cpu1/online
-rw-r--r-- 1 root root 4096 Апр 16 14:31 cpu1/online


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.172s | 15 Queries | GZIP : On ]