Проблемы с Bash скриптом

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Закрыто
no avatar

Автор темы
_Pokoi_
Сообщения: 119
Зарегистрирован: 18 янв 2022, 19:25
Решено: 6
Благодарил (а): 9 раз
Контактная информация:

Проблемы с Bash скриптом

#1

05 май 2022, 16:13

Как выполнить ряд команд с помощью Bash скрипта при автозапуске ?
Нужно чтоб баш скрипт выполнял при запуске данные команды в терминал :
Первый скрипт :
sudo cpupower frequency-set -g ondemand
sudo cpupower frequency-set -u 2800Mhz
Второй скрипт :
sudo sysctl -w vm.swappiness=5
sudo swapoff -a <<BASH
sudo swapon -a <<BASH
sudo sysctl -w vm.vfs_cache_pressure=1000

Что пробовал :
Писал после каждой строчки "<< BASH" , после перезапуска значение sudo sysctl vm.swappiness=60 (должно быть 5 , если скрипт выполнится)

почему -то только после первой строчки надпись "<<Bash" красным цветом , остальные белым , до переустановки Linux mint всё работало , все надписи << BASH после каждой строчки были красными и скрипт запускался.
Как сделать чтоб команды выполнялись *?

Аватара пользователя

rogoznik
Сообщения: 10044
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Проблемы с Bash скриптом

#2

05 май 2022, 16:32

_Pokoi_, на счет первого скрипта с ходу не скажу, а вот второй нет смысла выполнять при каждой перезагрузке.
Достаточно эти 2 параметра

Код: Выделить всё

vm.swappiness=5
vm.vfs_cache_pressure=1000
в конфигах записать
Вот только вы уверены что оно вам надо?
Просто, учитывая ваши проблемы со скриптами, вы не понимаете что делаете.
Ну и при написании скрипта это <<BASH не нужно
Т.е. скрипт должен выглядеть так

Код: Выделить всё

#! /bin/bash
sudo sysctl -w vm.swappiness=5
sudo swapoff -a
sudo swapon -a 
sudo sysctl -w vm.vfs_cache_pressure=1000
ИзображениеИзображение

Аватара пользователя

slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

Проблемы с Bash скриптом

#3

05 май 2022, 18:23

rogoznik писал(а):
05 май 2022, 16:32
Т.е. скрипт должен выглядеть так
rogoznik писал(а):
05 май 2022, 16:32
sudo swapoff -a
sudo swapon -a
Вот этот фрагмент в автозапуске смысла вообще не имеет. Никакого. Его можно просто исключить. Итого - второй скрипт в принципе не нужен.

По поводу первого скрипта: там сильно зависит от процессора в машине. Если интел, то начиная с поколения SandyBridge - эта строчка тоже становится бессмысленной, т.к. там по умолчанию режим OnDemand (точнее говоря аналог оного, он у них Powersave называется), а прямого программного управления в частотой больше НЕТ ВООБЩЕ. Только выбор профиля (Performance или Powersave, зато для каждого ядра отдельно, потому команда все равно неверная - так она лишь первое ядро переключит), а частота управляется самим процессором.
Вот как с этим у современных AMD - не скажу.

_Pokoi_, В общем, ждем дооформления темы - без вывода inxi вам не сюда, а к гадалкам.

Аватара пользователя

Белый Кролик
Сообщения: 642
Зарегистрирован: 24 май 2018, 14:35
Решено: 10
Благодарил (а): 354 раза
Поблагодарили: 180 раз
Контактная информация:

Проблемы с Bash скриптом

#4

05 май 2022, 19:09

_Pokoi_ писал(а):
05 май 2022, 16:13
sudo cpupower frequency-set -g ondemand
sudo cpupower frequency-set -u 2800Mhz
Первой строчкой ты выставляешь режим авто. А второй задаешь максимальную частоту выше которой процессор брать не будет. Тебе или первая строчка не нужна, или вторая. Для чего вообще нужно частоту менять?

Аватара пользователя

slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

Проблемы с Bash скриптом

#5

05 май 2022, 19:26

Белый Кролик писал(а):
05 май 2022, 19:09
Первой строчкой ты выставляешь режим авто. А второй задаешь максимальную частоту выше которой процессор брать не будет. Тебе или первая строчка не нужна, или вторая. Для чего вообще нужно частоту менять?
Тут для начала надо иметь в виду, что процессоры Intel начиная с SandyBridge имеют другие режимы, и вообще не поддерживают прямое управление частотой. Им принципиально нельзя задать ее напрямую программным образом. Не верхнюю ни нижнюю. Сами решают какая нужна, на основе выбранного режима.

no avatar

Автор темы
_Pokoi_
Сообщения: 119
Зарегистрирован: 18 янв 2022, 19:25
Решено: 6
Благодарил (а): 9 раз
Контактная информация:

Проблемы с Bash скриптом

#6

05 май 2022, 19:46

Только выбор профиля (Performance или Powersave, зато для каждого ядра отдельно, потому команда все равно неверная - так она лишь первое ядро переключит), а частота управляется самим процессором.
Вот как с этим у современных AMD - не скажу.

_Pokoi_, В общем, ждем дооформления темы - без вывода inxi вам не сюда, а к гадалкам.
CPU: Dual Core Intel Core i5-6200U (-MT MCP-)
speed/min/max: 906/400/2300 MHz Kernel: 5.4.0-109-generic x86_64 Up: 2h 38m
Mem: 3918.5/7824.4 MiB (50.1%) Storage: 465.76 GiB (2.5% used) Procs: 211
Shell: bash 5.0.17 inxi: 3.0.38

Performance и частота ядер процессора
Powersave
Ondemand
Последний раз редактировалось пользователем 1 rogoznik; всего редактировалось раз: 5
Причина: поправил картинки

no avatar

Автор темы
_Pokoi_
Сообщения: 119
Зарегистрирован: 18 янв 2022, 19:25
Решено: 6
Благодарил (а): 9 раз
Контактная информация:

Проблемы с Bash скриптом

#7

05 май 2022, 19:52

Белый Кролик писал(а):
05 май 2022, 19:09
_Pokoi_ писал(а):
05 май 2022, 16:13
sudo cpupower frequency-set -g ondemand
sudo cpupower frequency-set -u 2800Mhz
Первой строчкой ты выставляешь режим авто. А второй задаешь максимальную частоту выше которой процессор брать не будет. Тебе или первая строчка не нужна, или вторая. Для чего вообще нужно частоту менять?


Первой строчкой я выставляю режим работы процессора , второй строчкой я задаю частоту выше которой процессор подняться не может. Частота задаётся другой командой. -u - означает задать верхний порог частоты .

Аватара пользователя

Белый Кролик
Сообщения: 642
Зарегистрирован: 24 май 2018, 14:35
Решено: 10
Благодарил (а): 354 раза
Поблагодарили: 180 раз
Контактная информация:

Проблемы с Bash скриптом

#8

05 май 2022, 20:26

_Pokoi_ писал(а):
05 май 2022, 19:52
Белый Кролик писал(а): ↑

Первой строчкой ты выставляешь режим авто. А второй задаешь максимальную частоту выше которой процессор брать не будет. Тебе или первая строчка не нужна, или вторая. Для чего вообще нужно частоту менять?



Первой строчкой я выставляю режим работы процессора , второй строчкой я задаю частоту выше которой процессор подняться не может. Частота задаётся другой командой. -u - означает задать верхний порог частоты .
За изложение - пять. :smile:

Аватара пользователя

slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

Проблемы с Bash скриптом

#9

06 май 2022, 01:48

_Pokoi_, Покажи вывод sudo cpupower frequency-info.

no avatar

Автор темы
_Pokoi_
Сообщения: 119
Зарегистрирован: 18 янв 2022, 19:25
Решено: 6
Благодарил (а): 9 раз
Контактная информация:

Проблемы с Bash скриптом

#10

06 май 2022, 18:25

slant писал(а):
06 май 2022, 01:48
_Pokoi_, Покажи вывод sudo cpupower frequency-info.

Код: Выделить всё

analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us
  hardware limits: 400 MHz - 2.30 GHz
  available frequency steps:  2.30 GHz, 2.30 GHz, 2.20 GHz, 2.10 GHz, 2.00 GHz, 1.80 GHz, 1.70 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.10 GHz, 1000 MHz, 800 MHz, 700 MHz, 500 MHz, 400 MHz
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
  current policy: frequency should be within 400 MHz and 2.30 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency: 500 MHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes

Аватара пользователя

slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

Проблемы с Bash скриптом

#11

06 май 2022, 18:54

Этому процессору ты 2800Mhz не задашь при всем желании - у него 2300 потолок. И задавать его вручную смысла тоже нету - это по умолчанию доступный максимум.
А вот режим ondemand процессор поддерживает, видимо потому что мобильный.

Аватара пользователя

rogoznik
Сообщения: 10044
Зарегистрирован: 27 июн 2017, 13:36
Решено: 129
Откуда: Нижний Тагил
Благодарил (а): 776 раз
Поблагодарили: 1958 раз
Контактная информация:

Проблемы с Bash скриптом

#12

06 май 2022, 19:11

2800MHz ему доступно, только в турбо-бусте https://ark.intel.com/content/www/ru/ru ... 0-ghz.html
ИзображениеИзображение

Аватара пользователя

slant
Сообщения: 4506
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

Проблемы с Bash скриптом

#13

06 май 2022, 23:05

rogoznik писал(а):
06 май 2022, 19:11
2800MHz ему доступно, только в турбо-бусте
По поводу буста - там отдельная настройка. И он тоже по умолчанию активен.

Закрыто

Вернуться в «Вопрос новичка и FaQ»

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

Сейчас этот форум просматривают: BLEXBot [Bot] и 14 гостей