Для мониторинга событий файловой системы, таких как доступ к файлам, их модификация, создание/удаление, в Linux существует механизм под названием inotify. Он позволяет быстро и эффективно, в реальном времени мониторить указанные директории или отдельные файлы на заданные события и при их наступлении передавать информацию отслеживающим её приложениям. Читать
Архив рубрики: Linux
Bios / Опция Spread Spectrum
Распространение модулированного спектра. При работе тактового генератора может возникать такое явление, как электромагнитная интерференция (ElectroMagnetic Interference — EMI).
В их появлении, сопровождающемся характерными для таких процессов многочисленными частотными гармоническими составляющими, «виноваты» экстремальные значения (пики) генерируемых тактовых импульсов. Включение опции позволяет сгладить пики и уменьшить интерференцию.
Уменьшение электромагнитного излучения, кроме чисто технических задач, затрагивает и экологические проблемы, оно может достигать 6%. Следует заметить, что это может отрицательно отразиться на работе чувствительных к форме сигнала устройств, например, жестких дисков с интерфейсом Fast Wide SCSI. Поэтому параметр рекомендуется разрешать только при испытаниях компьютеров на электромагнитную совместимость. Читать
CPU Frequency Governor / Opensuse 13.x
Автор: AugustuS Karro
Дата публикации: 2015-04-22T15:54:00.000+07:00
Масштабирования частоты процессора / CPU frequency scaling / Разгон без K
На данный момент есть поддержка только 32-х разрядной архитектуры, 64-х битная будет поддерживаться начиная с ядра 2.6.23.
powertopпредоставляет ту же информацию, что и команда cpufreq-info, однако уступает ей в детальности.
Настройка масштабирования частоты производится в три этапа:
- загрузка соответствующего драйвера управления частотой процессора.
- загрузка желаемого регулятора масштабирования.
- настройка метода управления регуляторами: ручной (через /sys или cpufreq-set), через cpufrequtils daemon, laptop-mode-tools, acpid или пи помощи апплета окружения рабочего стола.
- (опционально) настройка масштабирования частоты.
Для корректного управления масштабированием частотой, ОС прежде всего должна знать параметры вашего процессора(ов). Для этого нужно загрузить модуль ядра, который может считывать и управлять параметрами вашего процессора(ов).
Для большинства современных ноутбуков и настольных компьютеров можно использовать драйвер acpi-cpufreq, однако есть ещё такие варианты как p4-clockmod, powernow-k6, powernow-k7, powernow-k8, и speedstep-centrino. Чтобы увидеть полный список, запустите:
$ ls /lib/modules/$(uname -r)/kernel/arch/x86/kernel/cpu/cpufreq/
Intel
# modprobe acpi-cpufreq
Для более старых процессоров Intel, система может выдать:
FATAL: Error inserting acpi_cpufreq ([...]/acpi-cpufreq.ko): No such device
Загрузка при старте системы
Для автоматической загрузки драйвера во время старта системы, добавьте соответствующий драйвер в массив MODULES в файле /etc/rc.conf. Например:
MODULES=( acpi-cpufreq vboxdrv fuse fglrx iwl3945 ... )
Как только загружен правильный драйвер cpufreq, вы можете посмотреть детальную информацию о вашем процессоре(ах), выполнив:
$ cpufreq-info
analyzing CPU 0:
driver: intel_pstate
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 0.97 ms.
hardware limits: 1.60 GHz - 5.90 GHz
available cpufreq governors: performance, powersave
current policy: frequency should be within 1.60 GHz and 5.90 GHz.
The governor "powersave" may decide which speed to use
within this range.
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Наблюдать за частотой процессора в режиме реального времени можно, выполнив команду:
$ watch grep "cpu MHz" /proc/cpuinfo
Регуляторы масштабирования (схемы энергопотребления)
Регуляторы можно рассматривать как заранее сконфигурированые схемы энергопотребления процессора. Регуляторы должны быть загружены как модули ядра, чтобы их могли видеть такие программы как kpowersave и gnome-power-manager. Вы можете загрузить столько гувернёров, сколько вам угодно, однако в любой момент времени активным будет только один.
Доступные регуляторы:
cpufreq_performance(по-умолчанию)- регулятор performance(производительность) встроен в ядро и поддерживает процессор(ы) на максимальной тактовой частоте
-
cpufreq_ondemand(рекомендуется) - динамически увеличивает/уменьшает тактовую частоту процессора в зависимости от загруженности системы
- cpufreq_conservative
- похож на ondemand, но более экономный (предпочтение отдаётся меньшим тактовым частотам)
-
cpufreq_powersave - процессор работает на минимально возможной тактовой частоте
-
cpufreq_userspace - тактовая частота задаётся пользователем вручную
Добавьте необходимый регулятор в массив MODULES в /etc/rc.conf (обязательно после модуля acpi-cpufreq) :
MODULES=(acpi-cpufreq cpufreq_ondemand cpufreq_powersave vboxdrv fuse fglrx iwl3945 ... )
Вы можете вручную установить регулятора при помощи команды cpufreq-set(как root), однако, эта настройка не сохранится после перезагрузки/выключения. Например:
# cpufreq-set -g ondemand
Заметьте, что предыдущие команды задавали регулятора только для первого процессора. Если у Вас многоядерный процессор или многопроцессорная система, используйте флаг -c, чтобы задать регулятор для определенного процессора. Например, чтобы задать регулятор для четвертого процессора (нумерация начинается с нуля):
# cpufreq-set -c 3 -g ondemand
Чтобы задать регулятор для всех ядер многоядерного процессора, введите (пример для 6-ядерного процессора):
# for i in 0 1 2 3 4 5; do cpufreq-set -c $i -g ondemand; done
Чтобы задать максимальный и минимальный пределы частоты для регулятора используйте опции -u и -d. Например, зададим максимальный предел 2.20GHz и минимальный предел 1.50GHz для регулятора ondemand и всех ядер 6-ядерного процессора:
# for i in 0 1 2 3 4 5; do cpufreq-set -c $i -g ondemand -u 2.20Ghz -d 1.50Ghz; done
Для дополнительной информации запустите cpufreq-set --help или man cpufreq-set.
Если Вам нужен графический интерфейс для настройки регуляторов или частоты, есть пакет trayfreq, который при запуске появляется в трее.
Дополнительный мониторнигВариант-1: $ cat /proc/cpuinfo | grep "MHz"cpu MHz : 1708.710
cpu MHz : 1704.609
cpu MHz : 1780.546
cpu MHz : 1637.812
Вариант-2: $ sudo dmidecode -t processor | grep SpeedMax Speed: 3800 MHz
Current Speed: 3000 MHz
Вариант-3: $ sudo watch -n 1 cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_max_freq
Вариант-4: $ cat /proc/cpuinfo | grep name
$ watch grep MHz /proc/cpuinfo
Код для Conky:
${color #296dac}Mасштабирования частоты процессора${hr 2}$color
CPU1: ${cpu cpu1}% $alignr ${freq} MHz $alignr ${cpubar cpu1 8,60}
CPU2: ${cpu cpu2}% $alignr ${freq} MHz $alignr ${cpubar cpu2 8,60}
CPU3: ${cpu cpu3}% $alignr ${freq} MHz $alignr ${cpubar cpu3 8,60}
CPU4: ${cpu cpu4}% $alignr ${freq} MHz $alignr ${cpubar cpu4 8,60}
Для мониторинга вольтажа достаточно lm-sensor:
Автор: AugustuS Karro
Дата публикации: 2015-04-22T13:00:00.000+07:00
Intel Core i5-2320 Sandy Bridge / Разгон без К
Основная задача была в осмыслении UPgrade рабочего ПК, на современный лад.
Intel Core i5-2320 Sandy Bridge всего три года, Socket 1155, основная идея была в покупке Intel Core i7, Socket 1150.
Задачи работы, 3D графика, компиляция кода программ.
Ввиду минимальных различий в спецификациях Socket 1155 и Socket 1150, а также в «шаманстве Intel», стоит задуматься о минимальном разгоне и продолжении работы на старом CPU еще 3-4 года.
Intel Core i5-2320 Sandy Bridge можно петь дифирамбы долго…
Надёжный, холодный, быстрый. Достаточен для любых приложений, кроме способных
эффективно обрабатывать более 4 вычислительных потоков одновременно.
***
Спецификации от Intel…
Процессор Номер-i5-2320
Интеллектуальная кэш-память Intel® 6 MB
DMI-5 GT/s
Набор команд 64-bit
Расширения набора команд SSE4.1/4.2, AVX
Литография 32 nm
Количество ядер 4
Количество потоков 4
Базовая тактовая частота процессора 3 GHz
Максимальная тактовая частота с технологией Turbo Boost 3.3 GHz
Расчетная мощность 95 W
Технология Intel® Turbo Boost 2.0
Технология виртуализации Intel® (VT-x)
Intel® VT-x с таблицами Extended Page Tables (EPT)
Архитектура Intel® 64
Состояния простоя
Усовершенствованная технология Intel SpeedStep®
Технологии термоконтроля
Технология Intel® Fast Memory Access
Технология Intel® Flex Memory Access
***
Тестовый стенд
— Intel® Core™ i5 3.00 — 2320 x4
— DDR3 (1600) — 16GB (Dual).
— openSUSE 13.2 x-86_64.
— Kernel 3.16,7
— Nvidia GTX-650 ddr5 1024 mb / 128 bit.
— Drivers 346.59
— Display resolution 1920×1080 (HDMI)
— ASRock Z68M / USB3
— Bios 2.20 — 7/12/2012
— Тыловой кулер, Размер (мм): 80х80.
— Корпус vento А8.
Материнская плата:
http://www.asrock.com/mb/Intel/Z68MUSB3/?cat=Specifications
Охлаждение:
http://habrahabr.ru/company/izine/blog/103866
Блок питания:
http://www.coolermaster.com/powersupply/office-home-extreme/extreme-power-plus-460w-120mm-fan
Температура за бортом 15-16 по Цельсию.
Температура в помещении 19-22 по Цельсию.
***
Параметры разгона:
Старт…
Fixed CPU Ratio = 30
Host Clock Override (BCLK): 100.0 MHz
CPU Vcore = Auto
CPU PLL = Auto
Intel Turbo Boost = ON
Этап — 1
Fixed CPU Ratio = 32
Host Clock Override (BCLK): 105.0 MHz
Intel Turbo Boost = ON
CPU Vcore = Auto
CPU PLL = Auto
Vcc SA (напряжение системного агента) = фиксировано на номинале 0.93V.
PCH Voltage (напряжение чипсета) = фиксировано на номинале 1.050V.
Vcc IO (напряжение кольцевой шины) = фиксировано на номинале 1.050V.
$ watch grep MHz /proc/cpuinfo
Расчет: 1н (Every 2,0s) час работы, 32×105=3360
Температура CPU: не выше 60 по Цельсию.
Полет отличный.
Этап — 2
Fixed CPU Ratio = 34
Host Clock Override (BCLK): 105.0 MHz
Intel Turbo Boost = OFF
CPU Vcore = Auto
CPU PLL = Auto
Vcc SA (напряжение системного агента) = фиксировано на номинале 0.93V.
PCH Voltage (напряжение чипсета) = фиксировано на номинале 1.050V.
Vcc IO (напряжение кольцевой шины) = фиксировано на номинале 1.050V.
$ watch grep MHz /proc/cpuinfo
Расчет: 1н (Every 2,0s) час работы, 32×105=3570
Температура CPU: не выше 60 по Цельсию.
Полет отличный.
* Примечание, основной монитор состояния напряжения опущен в статье, в основном по умолчанию Auto настройки.
* Примечание, DDR в «разгон» не устанавливалась.
***
Тестирование…
— Игровые тесты в целом не интересны, но The Witcher 2 для GNU-Linux / Steam, не с нативным движком,
позвлил поднять игровые настройки выше среднего, не мение 30 FPS.
— Интересный замер в Blender3D, существует неофициальный тестовый 2.7x Cycles benchmark.
http://blenderartists.org/forum/showthread.php?239480-2-7x-Cycles-benchmark-(Updated-BMW)
Результаты автора benchmark:
CPU: Intel i7 3.8Ghz
GPU: Nvidia GTX 770
OS: Windows 7 64bit
Time: 6 min 10 sec (CPU)
Наши результаты:
CPU: Intel i5 2320 3.5Ghz
GPU: Nvidia GTX 650
OS: openSUSE 64bit
Time: 6 min 15 sec (CPU)
У автора benchmark не описана архитектура Intel i7 3.8Ghz, зато можно сразу обозначить, разница всего 5 сек 🙂
***
Забавы вывода в Steam клиенте…
Процессор:
Поставщик: GenuineIntel
Семейство процессора: 0x6
Модель процессора: 0x2a
Степпинг процессора: 0x7
Тип процессора: 0x0
Тактовая частота: 5900 МГц
Кол-во логических процессоров: 4
Кол-во физических процессоров: 4
HyperThreading: Не поддерживается
FCMOV: Поддерживается
SSE2: Поддерживается
SSE3: Поддерживается
SSSE3: Поддерживается
SSE4a: Не поддерживается
SSE41: Поддерживается
SSE42: Поддерживается
***
Вывод…
В ногу со временем, это только за руку и в руку производителю.
***
Заметки, слухи…
— На мат. платах с чипсетами P67/Z68/Z77 этот процессор можно разогнать до 3600 МГц (максимальный множитель у i5-2320 = x36).
— Есть эффект деградации при работе в «разгоне», проявляется спустя г
Мониторинг аппаратных датчиков в Linux. Linux-monitoring sensors (lm_sensors).
# apt-get install lm_sensors3
# yes | sensors-detect
# sensorscoretemp-isa-0000Adapter: ISA adapterPhysical id 0: +37.0°C (high = +80.0°C, crit = +100.0°C)Core 0: +34.0°C (high = +80.0°C, crit = +100.0°C)Core 1: +36.0°C (high = +80.0°C, crit = +100.0°C)Core 2: +27.0°C (high = +80.0°C, crit = +100.0°C)Core 3: +30.0°C (high = +80.0°C, crit = +100.0°C)it8728-isa-0a30Adapter: ISA adapterin0: +0.08 V (min = +0.00 V, max = +3.06 V)in1: +2.02 V (min = +0.00 V, max = +3.06 V)in2: +2.00 V (min = +0.00 V, max = +3.06 V)in3: +2.03 V (min = +0.00 V, max = +3.06 V)in4: +0.01 V (min = +0.00 V, max = +3.06 V)in5: +1.79 V (min = +0.00 V, max = +3.06 V)in6: +1.55 V (min = +0.00 V, max = +3.06 V)3VSB: +3.38 V (min = +0.00 V, max = +6.12 V)Vbat: +3.14 Vfan1: 802 RPM (min = 0 RPM)fan2: 857 RPM (min = 0 RPM)fan3: 0 RPM (min = 0 RPM)fan4: 0 RPM (min = 0 RPM)fan5: 0 RPM (min = 0 RPM)temp1: +27.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistortemp2: +127.0°C (low = +127.0°C, high = +127.0°C) sensor = thermistortemp3: +28.0°C (low = +127.0°C, high = +127.0°C) sensor = Intel PECIintrusion0: ALARM
жно создавать свои конфиги. Файл может иметь любое имя, это не важно, и будет перекрывать настройки системного файла, если в нём уже есть конфиги для настраиваемого оборудования. Создадим файл с красивым именем /etc/sensors.d/sensors.local.conf, а исходные данные для настройки возьмём из уже выполненной ранее команды sensors, и той же команды, с аргументом -u, что даст больше информации:
# sensors -ucoretemp-isa-0000Adapter: ISA adapterPhysical id 0:temp1_input: 36.000temp1_max: 80.000temp1_crit: 100.000temp1_crit_alarm: 0.000Core 0:temp2_input: 35.000temp2_max: 80.000temp2_crit: 100.000temp2_crit_alarm: 0.000Core 1:temp3_input: 36.000temp3_max: 80.000temp3_crit: 100.000temp3_crit_alarm: 0.000Core 2:temp4_input: 27.000temp4_max: 80.000temp4_crit: 100.000temp4_crit_alarm: 0.000Core 3:temp5_input: 31.000temp5_max: 80.000temp5_crit: 100.000temp5_crit_alarm: 0.000it8728-isa-0a30Adapter: ISA adapterin0:in0_input: 0.036in0_min: 0.000in0_max: 3.060in0_alarm: 0.000in0_beep: 0.000in1:in1_input: 2.016in1_min: 0.000in1_max: 3.060in1_alarm: 0.000in1_beep: 0.000in2:in2_input: 2.004in2_min: 0.000in2_max: 3.060in2_alarm: 0.000in2_beep: 0.000in3:in3_input: 2.028in3_min: 0.000in3_max: 3.060in3_alarm: 0.000in3_beep: 0.000in4:in4_input: 0.012in4_min: 0.000in4_max: 3.060in4_alarm: 0.000in4_beep: 0.000in5:in5_input: 1.788in5_min: 0.000in5_max: 3.060in5_alarm: 0.000in5_beep: 0.000in6:in6_input: 1.548in6_min: 0.000in6_max: 3.060in6_alarm: 0.000in6_beep: 0.0003VSB:in7_input: 3.384in7_min: 0.000in7_max: 6.120in7_alarm: 0.000in7_beep: 0.000Vbat:in8_input: 3.144fan1:fan1_input: 802.000fan1_min: 0.000fan1_alarm: 0.000fan1_beep: 1.000fan2:fan2_input: 857.000fan2_min: 0.000fan2_alarm: 0.000fan2_beep: 1.000fan3:fan3_input: 0.000fan3_min: 0.000fan3_alarm: 0.000fan3_beep: 1.000fan4:fan4_input: 0.000fan4_min: 0.000fan4_alarm: 0.000fan4_beep: 1.000fan5:fan5_input: 0.000fan5_min: 0.000fan5_alarm: 0.000fan5_beep: 1.000temp1:temp1_input: 27.000temp1_max: 127.000temp1_min: 127.000temp1_alarm: 0.000temp1_type: 4.000temp1_offset: 0.000temp1_beep: 1.000temp2:temp2_input: 127.000temp2_max: 127.000temp2_min: 127.000temp2_alarm: 0.000temp2_type: 4.000temp2_offset: 0.000temp2_beep: 1.000temp3:temp3_input: 28.000temp3_max: 127.000temp3_min: 127.000temp3_alarm: 0.000temp3_type: 6.000temp3_offset: 92.000temp3_beep: 1.000intrusion0:intrusion0_alarm: 1.000
chip «coretemp-isa-0000»#IGNOREignore in0ignore in1ignore in2ignore in3ignore in4ignore in5ignore in6ignore in7ignore in8ignore intrusion0ignore fan3ignore fan4ignore fan5ignore temp2
compute fan1 2*@, @/2compute fan2 2*@, @/2
label temp1 «CPU»
fan1:fan1_input: 1584.000fan1_min: 0.000fan1_alarm: 0.000fan1_beep: 1.000temp1:temp1_input: 27.000temp1_max: 127.000temp1_min: 127.000temp1_alarm: 0.000temp1_type: 4.000temp1_offset: 0.000temp1_beep: 1.000
set temp1_max 95
set fan1_beep 0
set beep_enable 0
chip «it8728-isa-0a30»#FANScompute fan1 2*@, @/2compute fan2 2*@, @/2#IGNOREignore in0ignore in1ignore in2ignore in3ignore in4ignore in5ignore in6ignore in7ignore in8ignore intrusion0ignore fan3ignore fan4ignore fan5ifnore temp2
Автор: Yar4e