Я бы использовал контрольные группы, чтобы выполнить то, что вы просите.
Пожалуйста, прочитайте перед выполнением следующих инструкций: я прочитал на сайте документации RedHat, что libcgroups устарели недавно. RedHat предоставляет руководство для создания групп управления с помощью systemd здесь.
Кроме того, в описанных ниже методах * text * обозначает число или имя файла, которые будут определены пользователем.
2] Пожалуйста, прочитайте перед выполнением следующих инструкций:
Вы можете установить libcgroups, который содержит ряд утилит для создания групп, таких как cgcreate и cgclassify, набрав sudo apt install libcgroups. После установки выполните следующие действия:
Создайте группу с названием sqlgroup (или все, что вы хотите назвать) Тип cgcreate -g memory,cpu:sqlgroup Установите ограничение памяти. cgset -r memory.limit_in_bytes=$((*mathExpressionForDesiredLimit*)) sqlgroup Связать новую группу с требуемым процессом управления. Если процесс в настоящее время запущен, используйте cgclassify, набрав cgclassify -g memory,cpu:sqlgroup $(*PID of mysql process*). Если процесс не запущен, вы можете использовать cgexec, набрав cgexec cpu,memory:sqlgroup *processName* *additional arguments*Метод второй: Ручная настройка
Вы может также выполнить это вручную без установки дополнительных пакетов, используя следующие ( Метод второй: Ручная настройка У вас должен быть systemd 232 или более поздняя версия. systemctl --version | grep systemd содержит текущую информацию о версии):
9] Создайте группу, называемую sqlgroup (или все, что вы хотите назвать) Тип cgcreate -g memory,cpu:sqlgroupУстановите ограничение памяти для процесса, создав файл под созданной вами папкой groupname, которая содержит ограничение памяти в байтах. Это можно сделать, используя: echo amount_in_bytes > /sys/fs/cgroup/memory/groupname/memory.limit_in_bytes. Не изменяйте имя memory.limit_in_bytes. Установите ограничение памяти. cgset -r memory.limit_in_bytes=$((*mathExpressionForDesiredLimit*)) sqlgroup
Более сложные параметры конфигурации в отношении групп можно найти здесь здесь .
См. здесь, внизу страницы. Установите faad, если необходимо sudo apt install faad dd ibs=1 skip=44 if=yourfilename.m4a of=raw.m4a faad -a newname.m4a raw.m4a Все кредиты автору ссылки, на которую я указываю, потому что я не знаю, что я делаю, но я тестировал ее на вашем большом файле, и это работает. Первая команда занимает некоторое время. Потерпи. Пробовал это на ubuntu 16.04.
Как указано в комментариях, результат может быть открыт в VLC, но не в Audacious. Но мы можем использовать vlc, чтобы перекодировать его, или переписать его в другой формат. Сценарий ниже преобразует все * .m4a файлы в текущий каталог в * .mp3. #!/bin/bash
quote=\"
executable="/usr/bin/vlc"
argument3=vlc://quit
#transcoding parameters
acodecvalue=mp3
bitratevalue=128
accessvalue=file
muxvalue=raw
for x in *.m4a; do
inputname="${x}"
strippedname=${x%.m4a}
outputname=${strippedname}.mp3
quote_outputname=${quote}./${outputname}${quote}
echo ${inputname}
echo ${quote_outputname}
qtranscode=#transcode{vcodec=none,acodec=$acodecvalue, # continue line !
ab=$bitratevalue,channels=$channelsvalue} # continue line !
:standard{access=$accessvalue,mux=$muxvalue,dst=${quote_outputname}}
argument1="$inputname"
argument2=--sout=$qtranscode
"$executable" -I dummy "$argument1" "$argument2" "$argument3"
done
См. здесь, внизу страницы. Установите faad, если необходимо sudo apt install faad dd ibs=1 skip=44 if=yourfilename.m4a of=raw.m4a faad -a newname.m4a raw.m4a Все кредиты автору ссылки, на которую я указываю, потому что я не знаю, что я делаю, но я тестировал ее на вашем большом файле, и это работает. Первая команда занимает некоторое время. Потерпи. Пробовал это на ubuntu 16.04.
Как указано в комментариях, результат может быть открыт в VLC, но не в Audacious. Но мы можем использовать vlc, чтобы перекодировать его, или переписать его в другой формат. Сценарий ниже преобразует все * .m4a файлы в текущий каталог в * .mp3. [D2] #!/bin/bash
quote=\"
executable="/usr/bin/vlc"
argument3=vlc://quit
#transcoding parameters
acodecvalue=mp3
bitratevalue=128
accessvalue=file
muxvalue=raw
for x in *.m4a; do
inputname="${x}"
strippedname=${x%.m4a}
outputname=${strippedname}.mp3
quote_outputname=${quote}./${outputname}${quote}
echo ${inputname}
echo ${quote_outputname}
qtranscode=#transcode{vcodec=none,acodec=$acodecvalue, # continue line !
ab=$bitratevalue,channels=$channelsvalue} # continue line !
:standard{access=$accessvalue,mux=$muxvalue,dst=${quote_outputname}}
argument1="$inputname"
argument2=--sout=$qtranscode
"$executable" -I dummy "$argument1" "$argument2" "$argument3"
done
См. здесь, внизу страницы. Установите faad, если необходимо sudo apt install faad dd ibs=1 skip=44 if=yourfilename.m4a of=raw.m4a faad -a newname.m4a raw.m4a Все кредиты автору ссылки, на которую я указываю, потому что я не знаю, что я делаю, но я тестировал ее на вашем большом файле, и это работает. Первая команда занимает некоторое время. Потерпи. Пробовал это на ubuntu 16.04.
Как указано в комментариях, результат может быть открыт в VLC, но не в Audacious. Но мы можем использовать vlc, чтобы перекодировать его, или переписать его в другой формат. Сценарий ниже преобразует все * .m4a файлы в текущий каталог в * .mp3. [D2] #!/bin/bash
quote=\"
executable="/usr/bin/vlc"
argument3=vlc://quit
#transcoding parameters
acodecvalue=mp3
bitratevalue=128
accessvalue=file
muxvalue=raw
for x in *.m4a; do
inputname="${x}"
strippedname=${x%.m4a}
outputname=${strippedname}.mp3
quote_outputname=${quote}./${outputname}${quote}
echo ${inputname}
echo ${quote_outputname}
qtranscode=#transcode{vcodec=none,acodec=$acodecvalue, # continue line !
ab=$bitratevalue,channels=$channelsvalue} # continue line !
:standard{access=$accessvalue,mux=$muxvalue,dst=${quote_outputname}}
argument1="$inputname"
argument2=--sout=$qtranscode
"$executable" -I dummy "$argument1" "$argument2" "$argument3"
done