Перейти к содержанию

Skaaraje

Members
  • Постов

    2 781
  • Зарегистрирован

  • Посещение

Весь контент Skaaraje

  1. Skaaraje

    Ацкие тормоза USB

    При копировании с/на USB девайсы начинались ужасающие тормоза системы вплоть до невозможности разблокировать сессию. Все работало медленно (очень и печально) во время копирования. Гугление показало вот что: (далее цитирую) Проблема заключается в том, что когда идёт запись на флешку, скорость очень низкая (сначала, когда пишет в кэш, всё хорошо, но потом она падает до ~500-700 кбайт/с и система начинает довольно сильно тормозить. Причем тормоза настолько сильные, что иногда иксы виснут намертво на несколько минут. Как выяснилось эмпирически, это случается из-за переключения процессоров и блокировок при использовании общего блока памяти. Логично решение указать, чтобы процессоры не переключались при обработки прерываний, на которых находятся usb. Сначала в биосе отключаем опцию usb legacy support, заходим в систему и смотрим какие прерывания используются usb, для этого делаем: grep usb /proc/interrupts 16: 27 0 IO-APIC 16-fasteoi ehci_hcd:usb1 23: 0 29 IO-APIC 23-fasteoi ehci_hcd:usb2 где 16 и 23 это прерывания на которых сидит USB Далее можно узнать на каком процессоре сейчас все прерывания usb root@lnv:/home/paul# cat /proc/irq/16/smp_affinity 1 root@lnv:/home/paul# cat /proc/irq/23/smp_affinity 1 на 1 потому что я уже все их сделал на 1, до этого было на 3 Теперь, что это значит 3 в шестнадцатеричной системе = 00000000.00000011 в двоичной (так как ядро скомпилировано с поддержкой 16 процессоров) то есть обрабатыватся на CPU0, CPU1 Если нам нужно указать, чтобы обработка шла только на CPU0, то нужно задать 00000000.00000001, то есть 1 Если же нужно указать, чтобы обработка шла только на CPU1, то нужно задать 00000000.00000010, то есть 2 Теперь укажем, что будем обрабатывать на CPU0 все прерывания с висящими на них usb, естественно, всё делать нужно под рутом. При загрузке Вот такой скриптец #!/bin/sh for interruption in `grep usb /proc/interrupts| awk '{print $1}'| sed -e 's/\://g'` ; do echo "Setting 1 in /proc/irq/${interruption}/smp_affinity"; echo 1 > /proc/irq/${interruption}/smp_affinity; done положить например в /usr/bin И прописать его в rc.local если есть или в /etc/init.d ! И реально - сейчас копирует файл 50гиг на MicroSD убогую в ридере, я при этом пишу нормально и вкладки в опере переключаются и ваще почти без тормозов. Источник
  2. Skaaraje

    Nextcloud

    Неудаляемые файлы и директории, или вручную удаленные - потом они остаются в базе и отствечивают в гуе. sudo -u www-data php occ files:scan --all или можно отдельного юзера sudo -u www-data php occ files:scan user
  3. Skaaraje

    Nextcloud

    Сбросить пароль админа cd /var/www/html/nextcloud sudo -u www-data /usr/bin/php occ user:resetpassword admin Но при этом выдает ошибку An unhandled exception has been thrown: OC\HintException: [0]: Memcache \OC\Memcache\APCu not available for local cache (Is the matching PHP module installed and enabled?) На предложенную команду с офф форума некстклоуда sudo -u www-data php --define apc.enable_cli=1 /var/www/nextcloud/occ maintenance:repair Ошибка повторяется Помогло вот че path for 7.3 is: /etc/php/7.3/mods-available/apcu_bc.ini add these two lines apc.enable_cli=1 apc.shm_size=512M This fix issue. I think that an issue is cause PHP updated with APT. Хотя php 7.4
  4. ну и перетусовать все find -maxdepth 1 -type f -iname '*.mp3' -print0 | \ shuf -z | \ for ((i=0;++i;)); do IFS= read -r -d '' fname || break; mv "$fname" "rand${i}.mp3"; done конвертировало прмерно полтора часа 26 гиг и 622 файла нормализило минут 15
  5. В машине не читается flac формат, надо сконвертить и занормализить все треки. ffmpeg и normalize-audio установить если еще нет Сперва в корне того каталога - где лежат подкаталоги с флаками (где 160 это получаемый битрейт, можно и 320 если надо) find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \; если AAC то для VBR MP3 find . -name "*.m4a" -exec ffmpeg -i {} -c:a libmp3lame -ac 2 -q:a 2 {}.mp3 \; или AAC в CBR MP3 find . -name "*.m4a" -exec ffmpeg -i {} -c:a libmp3lame -ac 2 -b:a 190k {}.mp3 \; потом все mp3 в одну кучу find . -name "*.mp3" -exec mv {} "/home/skaaraje/SDOUT" \; потом normalize-audio -m -n *.mp3 Если надо во вложенных подкаталогах - то find . -type f -iname "*.mp3" -print0 | xargs -0 normalize-audio -m -n Или в 4 потока если не глючит find . -type f -iname "*.mp3" -print0 | xargs -0 -P 4 -n 1 normalize-audio -m -n
  6. mint 20.1 из коробки в манагере драйверов - версия старая предлагается для моего geforce m620 на ноуте 370 вроде, без prime-select, без переключения на intel видео и т.д. для установки последнего официального драйвера чтоб с бубном не плясать (ручная установка через run файл драйвера требует деактивации nouveau и т.д.) - оффдрайвер смотрится на сайте nvidia добавить репу с драйверами add-apt-repository ppa:graphics-drivers/ppa обновить репы после этого вроде как дрова последние должны появится в диспетчере драйверов - у меня не появились поэтому руками в консоли вначале посмотреть какие дрова есть https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa потом apt-cache search nvidia | grep 390 (например) найти metapackage его и установить у меня m620 на ходу не переключает, при возникновении глюков, черного экрана, загрузке в сафемоде можно просто alt+f2 там зайти рутом, и перключить видак через prime-select
  7. rmlint и rmlint-gui поиск дубликатов фалов в репах нет - гуглить
  8. удалить пустые строки в файле cat main.txt | grep -Ev "^$" > out.txt
  9. рандомное переименование файлов find -maxdepth 1 -type f -iname '*.mp3' -print0 | \ shuf -z | \ for ((i=0;++i;)); do IFS= read -r -d '' fname || break; mv "$fname" "rand${i}.mp3"; done
  10. Найти все mp3 файлы в нескольких директориях и скопировать все в одну (для fm трансмиттера например) find / -iname "*.mp3" -exec cp {} /mnt/mp3 \;
  11. Skaaraje

    Debian 10+ и rc.local

    з Debian 10 убрали rc.local Но надо. Кароч делаем так touch /etc/systemd/system/rc-local.service в нем [Unit] Description=/etc/rc.local ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target потом touch /etc/rc.local в него все, что обычно в нем содержится #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0 потом права на выполнение для rc.local chmod +x /etc/rc.local потом добавить сервис в автозапуск systemctl enable rc-local и стартануть сервис systemctl start rc-local ну и проверить systemctl status rc-local всЁ
  12. Skaaraje

    Debian 11 и gksu

    gksu убрали сосем в mint 19 b deb 9 можно вернуть add-apt-repository ppa:mark-pcnetspec/gksu apt update apt install gksu в бубнте 20 или деб 10 уже не канает помогло добавить в ~./bashrc alias gksu='pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS' но опять же - это не работает например на ярлыках cairo-dock например чтоб запустить virtualbox от root - надо уже pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY virtualbox
×
×
  • Создать...