LINUX.ORG.RU

юнит для однократной команды

 ,


2

1

как правильно написать юнит для однократного выполнения команды в самом конце очереди загрузки? нужно, чтобы после завершения отработки всех юнитов выполнялась команда установки частоты проца на powersave



Последнее исправление: JB (всего исправлений: 2)

нужно, чтобы после завершения отработки всех юнитов выполнялась команда установки частоты проца на powersave

Бгг, Алиса не осилила настроить это в конфиге cpupower. После отработки. Как-то странно, но думаю на пауерсейве они все равно одинаково быстро прогрузятся. Это ж не непонятные школоте простыньки на баше :)

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

у меня это сделано при помощи штатных для генты gentoo-local-00_cpupower.service и /etc/local.d/00_cpupower.start вида:

#!/bin/bash

for c in $(cpupower frequency-info -o | awk '$1 == "CPU" { print $2 }') ; do
        cpupower -c ${c} frequency-set -g ondemand
done

upd: see /usr/lib/systemd/system-generators/gentoo-local-generator

x0r ★★★★★
()
Последнее исправление: x0r (всего исправлений: 1)

Ну ExecStart="Твоя команда", а в зависимости добавить то, после чего оно должно выполняться таргет, или другой юнит. Это если отвечать на вопрос из сабжа.

Psych218 ★★★★★
()
Последнее исправление: Psych218 (всего исправлений: 1)

Надо смотреть каким юнитом грузятся иксы, обычно запускается юнит DM, который запускает иксы, которые запускают сессию WM. Соответственно systemd не знает когда закончатся грузиться wm, так что без костылей не обойтись. Либо переписывать эту цепочку на правильную, чтобы systemd запускал всё, либо просто вставить sleep в твоем юните:

[Service]
Type=oneshot
After=network.target multi-user.target
ExecStartPre=/usr/bin/sleep 10
ExecStart=/usr/bin/...
disarmer ★★★
()
Ответ на: комментарий от beastie
# equery f sysfsutils 
 * Searching for sysfsutils ...
 * Contents of sys-fs/sysfsutils-2.1.0:
/lib64
/lib64/libsysfs.so.2 -> libsysfs.so.2.0.1
/lib64/libsysfs.so.2.0.1
/usr
/usr/bin
/usr/bin/get_device
/usr/bin/get_driver
/usr/bin/get_module
/usr/bin/systool
/usr/include
/usr/include/sysfs
/usr/include/sysfs/dlist.h
/usr/include/sysfs/libsysfs.h
/usr/lib64
/usr/lib64/libsysfs.so
/usr/share
/usr/share/doc
/usr/share/doc/sysfsutils-2.1.0
/usr/share/doc/sysfsutils-2.1.0/AUTHORS.bz2
/usr/share/doc/sysfsutils-2.1.0/CREDITS.bz2
/usr/share/doc/sysfsutils-2.1.0/ChangeLog.bz2
/usr/share/doc/sysfsutils-2.1.0/NEWS.bz2
/usr/share/doc/sysfsutils-2.1.0/README.bz2
/usr/share/doc/sysfsutils-2.1.0/TODO.bz2
/usr/share/doc/sysfsutils-2.1.0/libsysfs.txt.bz2
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/systool.1.bz2
Alyssa
() автор топика
Ответ на: комментарий от Alyssa

Погуглил. По ходу gentoo впереди планеты всей. Недоделали это там.

Остаётся /etc/conf.d/local.start (/etc/rc.local) или мучаться с вашей новой игрушкой.

\me печально вздохнул и удалилися из треда.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Смешно видеть, как юзер фряхи юзеру генты предлагает юзать дебьяновский апт, лол.

apt-get

Сейчас уже можно просто apt install sysfsutils.

To Alyssa: ты документацию ну совсем не читаешь, или когда? Тем более для старта системы тебе powersave вполне хватит, потери скорости не будет, это ж не конпеляция.

r3lgar ★★★★★
()
Ответ на: комментарий от r3lgar

юзер фряхи

4.2 с фряхой толком не связан. У меня дргугая песочница, хоть с фряхой тоже дело иметь (и недоумевать) приходиться.

юзеру генты

Минорщина выкристализовалось аж после equery. До этого это был абстракный debian. ;)

beastie ★★★★★
()
Ответ на: комментарий от r3lgar

powersave вполне хватит, потери скорости не будет

4.2

x0r ★★★★★
()

Что считать концом очереди загрузки?

[Unit]
DefaultDependencies=no

# manually configure default dependencies disabled by DefaultDependencies=no
Requires=basic.target
After=basic.target
Conflicts=shutdown.target
Before=shutdown.target

# this one is the actual reason for the DefaultDependencies=no
# (with DefaultDependencies=yes, we'd get Before=default.target due to WantedBy=default.target)
After=default.target

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g powersave

[Install]
WantedBy=default.target
intelfx ★★★★★
()
Ответ на: комментарий от beastie

По ходу gentoo впереди планеты всей

Учитывая что sysfsutils планируют выкинуть на мороз - я не удивлен. Только пока от них кто-либо зависит - это вряд ли случится.

Pinkbyte ★★★★★
()
Ответ на: комментарий от intelfx

чота не робит

# systemctl status cpupsave -l
● cpupsave.service
   Loaded: error (Reason: Invalid argument)
   Active: inactive (dead)

Jun 03 08:13:22 localhost systemd[1]: [/etc/systemd/system/cpupsave.service:13] Executable path is not absolute, ignoring: cpupower frequency-set -g powersave
Jun 03 08:13:22 localhost systemd[1]: cpupsave.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Jun 03 08:13:31 localhost systemd[1]: [/etc/systemd/system/cpupsave.service:13] Executable path is not absolute, ignoring: cpupower frequency-set -g powersave
Jun 03 08:13:31 localhost systemd[1]: cpupsave.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Jun 03 08:13:37 localhost systemd[1]: [/etc/systemd/system/cpupsave.service:13] Executable path is not absolute, ignoring: cpupower frequency-set -g powersave
Jun 03 08:13:37 localhost systemd[1]: cpupsave.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Jun 03 08:14:57 localhost systemd[1]: [/etc/systemd/system/cpupsave.service:13] Executable path is not absolute, ignoring: cpupower frequency-set -g powersave
Jun 03 08:14:57 localhost systemd[1]: cpupsave.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Jun 03 08:15:23 localhost systemd[1]: [/etc/systemd/system/cpupsave.service:13] Executable path is not absolute, ignoring: cpupower frequency-set -g powersave
Jun 03 08:15:23 localhost systemd[1]: cpupsave.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
Alyssa
() автор топика
Ответ на: комментарий от intelfx

короче, юнит выглядит так:

[Unit]
DefaultDependencies=no
Requires=basic.target
After=basic.target
Conflicts=shutdown.target
Before=shutdown.target
After=default.target

[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g powersave
ExecStop=/usr/bin/cpupower -c all frequency-set -g performance

[Install]
WantedBy=default.target

но не робит:

# systemctl start cpupsave
localhost ~ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance
localhost ~ # systemctl status cpupsave -l
● cpupsave.service
   Loaded: loaded (/etc/systemd/system/cpupsave.service; disabled; vendor preset: enabled)
   Active: inactive (dead)

Jun 03 08:55:42 localhost cpupower[14525]: Setting cpu: 7
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 0
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 1
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 2
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 3
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 4
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 5
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 6
Jun 03 08:55:42 localhost cpupower[14527]: Setting cpu: 7
Jun 03 08:55:42 localhost systemd[1]: Started cpupsave.service.
Alyssa
() автор топика
Ответ на: комментарий от Alyssa

Быть может никак.

# systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
   Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled)
   Active: active (running) since Mon 2015-05-25 12:24:27 MSK; 1 weeks 1 days ago
 Main PID: 1064 (tuned)
   CGroup: /system.slice/tuned.service
           └─1064 /usr/bin/python -Es /usr/sbin/tuned -l -P

# tuned-adm list
Available profiles:
- balanced
- desktop
- latency-performance
- network-latency
- network-throughput
- powersave
- throughput-performance
- virtual-guest
- virtual-host
Current active profile: balanced

Deleted
()
Ответ на: комментарий от Alyssa

Тебе же написали —

Executable path is not absolute, ignoring

intelfx ★★★★★
()
Ответ на: комментарий от t184256

это показательная казнь systemd головного мозга

deity ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.