LINUX.ORG.RU

Сообщения kirill_rrr

 

Перезапуск kwin по таймеру.

Форум — Desktop

Raspberry Pi 4, lxqt, kwin_x11. Разумеетсся глюкодром, но более-менее функциональный и довольно удобный. Отказываться от Kwin пока не собираюсь.

Проблема: утечка разделяемой памяти в kwin_x11 порядка 300-500Мб в сутки. Решение: ну перезапустить раз в сутки и не париться. Желательно автоматом.

Настоящая проблема: перезапускать надо вручную или из терминала, или из запускалки.

Если воспользоваться cron'ом, то композитор просто не увидит нужного сеанса.

Если использовать xterm -e (или скрипт с xterm -e, или любой другой эмулятор терминала) - увидит, перезапустится, но при закрытии терминала все потомки будут убиты несмотря на то, что при ручной подаче команды с обыным '&' этого не происходит.

Если откреплять композитор с помощью nohup например из скрипта - всё как бы работает, но kwin запускается с дефолтными настройками (нахрен он в таком режиме нужен?), причём только если запускать его скриптом из хрона (вручную всё ОК).

Есть идеи как организовать автоматический перезапуск внутри сеанса без потери настроек? Крайне желательно чтобы это было лучше самодельного фонового скрипта типа while do; sleep 12h; kwin_x11 --replace; done. Желательно чтобы это был cron или хрен с ним, системд, а не какой нибудь дополнительный висящий процесс.

 , , , ,

kirill_rrr
()

Как ускорить и распаралелить qemu на arm?

Форум — Desktop

Учусь запускать старые игрушки в виртуалке на распбери Пи4-ноуте. Крайне желательно в кроссплатформенном и универсальном варианте одна-игра-на-виртуалку, чтобы таскать её по любым компам. Т.е. qemu, других с той же универсальностью не знаю. Целевые игры: homm 2/3, Pharaon, Planscape: Tourment.

Принципиально проблема решаема, люди игрались на смартфонах с ядрами вплоть до cortex-a53. А у меня -а72, но винХР устанавлвается по 3 суток с зависаними из за слишком низкой производительности. dosbox тоже удручает до «почти можно играть в doom».

Очевидно что то не так со сборкой/настройками qemu. Пока что не смог нащупать ничего принципиально более быстрого, всё в преелах ~20% от типа цпу.

Эмуляция нескольких ядер идёт в 1 поток и роняет производитеьность ещё сильнее. Хотя с 2015 года в теории в qemu входит многопоточный MTTCG, но он отказывается включаться для х86 виртулок. Хотя есть андроидовые обёртки над qemu, которые ~5 лет назад запускали на смартфонах винду и задействовали для этого несколько ядер.

 ,

kirill_rrr
()

Проблемы с повышением приоритета процесса.

Форум — General

В процессе разборок с найсом ( Когда nice не работает и процессы НЕвежливые ) выяснилось, что по какой то причине невозможно поднять приоритет процесса выше, чем он был при запуске. Циферки nice уходят в минус, процесс начинает порождать высокоприоритетных потомков, но сам не получает положенной ему доли ЦПУ.

Кто нибудь знает в чём дело и как починить? Желательно без участия cgroups.

 

kirill_rrr
()

Когда nice не работает и процессы НЕвежливые

Статьи — Desktop

Отключать ли автогруппировку процессов чтобы позволить приоритетам nice работать глобально?

( читать дальше... )

 ,

kirill_rrr
()

xfce 2021 года

Галерея — Скриншоты

Откопал и решил выложить скриншот, оставшийся от экспериментальной установки Void Linux на ноутбук в 2021 году. Тогда я ещё пытался остаться на XFCE/xfwm, файерфокс всё ещё был тортом, а вивальди не был. Привести систему к более-менее приятному внешнему виду мне удалось, а вот накидать всякого стороннего софта типа виртуалок, игрушек и тимвьювера — нет.

Конкретно скриншот — закладка на будущее в процессе прослушивания интернет-радио чтобы найти и добавить в колекцию новые песни.

 ,

kirill_rrr
()

Слишком много free памяти

Форум — Desktop

Raspberry Pi 4 4Gb, Raspbian, ядро 6.1

Наконец то нагрузил его более-менее серьёзно и заметил странную вещь: система очень упорно держит абсурдно много памяти свободной.

rrr@raspberrypi:/media/files $ free -m
               total        used        free      shared  buff/cache   available
Mem:            3794        1969         671         788        1152         431
Swap:          38145        2898       35247

Тюнинг памяти:

echo z3fold > /sys/module/zswap/parameters/zpool
echo 25 > /sys/module/zswap/parameters/max_pool_percent
echo 1 > /sys/module/zswap/parameters/enabled
echo 64 > /proc/sys/vm/page-cluster
echo 100 > /proc/sys/vm/swappiness
echo 500 > /proc/sys/vm/watermark_scale_factor
echo 32768 > /proc/sys/vm/min_free_kbytes

Также подключена tmpfs в /tmp и туда вынесены временные файлы пользователя, как минимум кеш браузера, миниатюр и qml.

Насколько я знаю, free-память это не всякие кеши и буферы, не tmpfs, не zswap. До сих пр я не встречался с ситуациями, когда +-15-20% памяти простаивает в холостую во время дефицита - кроме одного раза, когда cgrops_mem позволял пользователю использовать в сеансе не более 50%, но даже там память использовалась под дисковый кеш. При открытии новых вкладок браузера система удерживает свободными от 480М до 800М. При создании крупного файла в /tmp показатель free кратковременно снижается, но затем память откачивается до того же уровня.

Ядро 6.1 перешло на cgrops v2, и я вроде как не вижу там управления памятью (для v1 я его всегда отключал), но возможно я просто не знаю куда смотреть. Но вообще по ощущениям похоже на какой то лимит со стороны cgrops.

Что это мжет быть? Свопинг конечно мягкий, но он чувствуется и кажется могло бы работать ещё лучше на эти самые 300-500М.

 , ,

kirill_rrr
()

Отключить UAS для всех юсб-усройств.

Форум — General

Воюю с неприятным багом ЮСБ3 на Raspberry Pi 4.

Суть в том, что при активном i/o всё падает и помогает только ребут. Планы А и Б уже не помогли, план С состоит в том, чтобы отклчить UAS и это вроде как длжо помочь. Проблема - отключать его надо пераметром ядра при загрузке, причём для каждого конкретного устройства по его идентификаторам.

Нагуглил предложение вписать в строку параметров ядра usbcore.quirks=usb-storage:uas, но это не помогло (в смысле UAS не отключен).

Кто нибудь в курсе как это работает и отключается?

 , uas,

kirill_rrr
()

Возвращаем кнопку Turbo

Галерея — Скриншоты

Наконец организовал охлаждение Пи4, прокачал производительность, настроил управление температурой.

Во-первых, конечно, дырки в днище для притока воздуха снизу. Это дало падение температуры на 5 градусов в пассивном режиме. Надо было сразу думать, а не ждать, пока одноплатник ИК-излучением прогреет 3 слоя фанеры вниз.

Во-вторых, вентилятор на 12В, запитанный от 5В. Слышимо, но не противно.

Ну и в-третьих — cpufreqd с простым и эффективным конфигом:

rrr@raspberrypi:~/.komic $ cat /etc/cpufreqd.conf
# this is a comment
# see CPUFREQD.CONF(5) manpage for a complete reference
#
# Note: ondemand/conservative Profiles are disabled because
#       they are not available on many platforms.

[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
verbosity=4
#enable_remote=1
#remote_group=root
[/General]


[Profile]
name=P600
minfreq=600000
maxfreq=600000
policy=ondemand
[/Profile]

[Profile]
name=P800
minfreq=600000
maxfreq=800000
policy=ondemand
[/Profile]

[Profile]
name=P1000
minfreq=600000
maxfreq=1000000
policy=ondemand
[/Profile]

[Profile]
name=P1200
minfreq=600000
maxfreq=1200000
policy=ondemand
[/Profile]

##

[Rule]
name=P600
sensor=temp1:66-100
profile=P600
[/Rule]
 
[Rule]
name=P800
sensor=temp1:61-65
profile=P800
[/Rule]

[Rule]
name=P1000
sensor=temp1:56-60
profile=P1000
[/Rule]

[Rule]
name=P1200
sensor=temp1:0-55
profile=P1200
[/Rule]

На скринах:

  • Нижний левый - пассивный, низкая нагрузка.
  • Верхний правый - пассивный, полная нагрузка.
  • Нижний правый - полная нагрузка с полным охлаждением.

Обратите внимание, как медленно одноплатник нагревается и охлаждается. Одна строка бенчмарка 7zip идёт полторы-две минуты. Общее потребление (ваттметром на розетке) в простое 9,8-10,5Вт, под максимальной нагрузкой с охлаждением 12,2-13Вт. Из них ~2,5Вт уходит на e-inc экран когда он включен, 0,7Вт теряется на заряднике и ещё сколько то на понижающем блоке 5В. Вентилятор в пределах 0,2Вт.

Интересный результат: несмотря на двухкратную разницу частот, попугаи 7-зипа растут всего на 41,5%. Кажется, у Пи4 крайне нелинейная производительность цпу (дооптимизировались, блин). Для сравнения у Пи3 одноядерная и многоядерная производительность меняется практически линейно с частотой. Возможно я сам частично виноват — я снизил максимальную частоту gpu с 500 до 400Мгц, от неё же назначается частота системной шины и оперативки, этим выигрывается 0,5Вт энергии. Позже проверю, насколько это влияет.

Кто нибудь знает многоядерный бенч цпу с выдачей результатов в реальном времени?

 , , ,

kirill_rrr
()

Alt Linux и aptitude

Форум — General

Пробую на вкус Alt на Raspberry Pi 4. Есть много странностей, но начать надо с пакетника.

Synaptic не умеет продвинутого разрешения зависимостей и чистки мусора, сидеть на чистом apt-get не интересно, но есть же лучший ПМ, aptitude!

Который вроде бы всё может, но почему то отказывается реагировать на большую часть команд, например g (применить изменения), или оно же, но через меню Ctrl+T. По сути не проходит ни одна операция с пакетами!

 , ,

kirill_rrr
()

Продолжаю модернизацию

Галерея — Рабочие места

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

Raspberry Pi 4 в новом переносном корпусе занял своё место на столе, получил второй монитор в своё распоряжение (верхний слева) и начал кое что делать — а именно сёрфить.

Верхний справа всё ещё подключен к Pi3, его же мышь и клавиатура стоят в готовности. Но как-то так плавно получилось, что последнюю неделю я хожу туда по VNC.

Пока что переезд софта и задач (и главное, скриптов!) в начальной стадии. Пока или дистрибутив не поменяю, или ядро распбиана не пересоберу, потом можно будет нормально переразметить и зашифровать диск ну и далее по списку... Так что сшить 3 фотки пришлось в гимпе, запущенном на пи3, с доступом по VNC. И самое удивительное в том, что это юзабельно!

З.Ы. KRDC рулит, remmina даже близко не валяется по стабильности и удобству.

З.З.Ы. Четвёртый монитор на боковой стене — от видеонаблюдения. Оно внизу в тумбочке.

 ,

kirill_rrr
()

Настройка времени и косяки systemd

Форум — Admin

Тихо и незаметно подкрался ещё один косяк. С тех пор, когда я последний раз настраивал дуалбут, управление временем было передано в systemd, а эти обладатели мудрых фасеточных глаз по какой то причине решили, что при синхронизации времени через ntp не требуется переводить аппаратные часы. Так я узнал, что Local time и RTC time это отдельные понятия и всегда были.

За возвращение нормального поведения в теории должна отвечать timedatectl set-local-rtc 0 с опцией --adjust-system-clock, только это не работает. Другой полезной информации найти не удалось - яндекс упорно предлагает интрукции по настройке systemd-tymesyncd.

Перемещено hobbit из general

 , ,

kirill_rrr
()

Корпус для Raspberry Pi 4

Галерея — Рабочие места

Наконец то строительный сезон закончен, техника эвакуирована и расфасована и можно заняться всякой ерундой. Например наконец то упаковать Пи4 в корпус, более компактный и мобильный чем посудная полка с Пи3.

Итак:

  • 4 гига, 4 ядра, 64 бита, распбиан 11.
  • Дисплей onyx Mira, e-ink, 2200x1650 (но из-за рамок, наползающих на рабочую область экрана и странной геометрии пикселей лучше использовать 1280х960. Если повезёт — заставлю его работать в масштабе ровно 50%), 38Гц. Короче факинг эту вашу плавность и 100% sRGB.
  • Второй порт свободен и ждёт монитора из ремонта.
  • Диски: 64Гб карта kingston повышенной скорости и ssd 120Гб, 5 лет отработавший свопом на Пи3. Что странно, даже при ехт4 на карте памяти и без тюнинга нет признаков бага 12309 (в отличиt от тройки).
  • 4 порта юсб3 с аппаратными выключателями. Но без выделенной линии питания это плохо.
  • Звук — noname-колонки, которые после пилы и саморезов начинают дребезжать на половине мощности.
  • Полноразмерная клавиатура.
  • Полноразмерная мышка.
  • БП 5В*5А
  • Батарея 27,6 Втч с вольтметром и портом для подключения всего что под руку подвернётся из диапазона 11...14,5В. Ожидаемое время автономной работы 2 часа.
  • Ручка для переноски и колёсики не планируются.

 ,

kirill_rrr
()

Raspberry Pi 4 и Wi-Fi

Форум — Linux-hardware

Запаковал таки Пи4 в самодельный корпус вместе с переферией и питанием, при запуске понял что не предусмотрел 2 маленькие детальки: во первых заблокировал доступ к эзернет-порту (это другой вопрос, не трогаем), а во вторых - сигнал wifi в горизонтальной плоскости напрочь забит то ли помехами, то ли окружающими устройствами.

Теореически сигнал роутера ловится если поставить корпус на бок перпендикулярно направлению на роутер, вот только корпус в форм-факторе ноутбука и это абсолютно нерабочее положение. Повернуть или вынести саму плату тоже не вариант.

Также вспомнился случай, когда я прикручивал Пи4 к официальному 7" тачскрину от Распберри - эффект был аналогичный, wifi забит наглухо - энергоэффективной мобильной торрентокачалки не получилось. Кажется терять связь в любой непонятной ситуации у этой пародии на антену хроническое. А ведь txpower заявлен на уровне 30дбм!

Есть 2 очевидных способа решения проблемы: внешний usb-wifi с антеной (будет планом-Б, у меня уже заняты все 4 порта) и инструкция по модификации https://www.youtube.com/watch?v=MTwWnZG8wUY которая кажется мне довольно трудно реализуемой и рискованной. Других инструкций по модификации антены Пи4 я не встретил (Для Пи3 есть сразу 2 варианта, причём они проще).

Собственно вопросы: Есть ли какие нибудь ещё варианты и чем грозит для платы неудачная попытка пайки по этому варианту? Сгорит всё, или просто останусь с и так нерабочим wifi-модулем?

 , , модификации

kirill_rrr
()

bash, ffmpeg, какой-то трындец и непонятки

Форум — Multimedia

Как то давно я написал себе скрипт-конвертер мультимедийных файлов, всё как положено, многопоточный с контролем потоков, с рекурсивным сбором из папки, и давно им пользуюсь иногда внося изменения. Он отлично работает на RPi3 с дебиан8 и ffmpeg 3.4. Но вот я решил ускорить кодирование сериала на нескольких машинах, отдал один сезон RPi3 а второй попробовал кодировать на других компах с помощью самбы. И на них начался трешак и падения в части многопоточности - 1-2 файла отправлялись на кодирование, медленная работа из за того, что ffmpeg срёт ошибками (вывод подавлен, но он это делает и вешает себе главный поток), и обрыв собственно скрипта-распределителя потоков.

Вот скрипт. Общий принцип: чистка мусора, подготовка рабочей папки, затем создание скрипта-модуля convert.bash, который принимает данные о кодируемом файле и дёргает собственно ffmpeg. В коде convert.bash захардкожена строка команды. Затем собираерся рекурсивный список файлов в папке и для него начинает крутиться цикл while read со встроенными замедлителями потоков через файлы блокировки. При запуске convert.bash файл-блокировка создаётся, а затем convert.bash его удаляет когда ffmpeg закончит работу. Обратите внимание: в нормальном состоянии вывод ffmpeg подавлен через > /dev/null 2>&1, но я его отключал для диагностики - на поведение и на глюк не влияет.

#!/bin/bash
CORE="1" # Создавать потоков

if [ "$1" = "-h" ]; then
echo 'Использование: paket_convert.bash <каталог для поиска файлов> <каталог для помещения результатов>'
echo 'Задействовано потоков: '"$CORE"
exit 0
fi

rm -R /tmp/ffmpeg/
rm /tmp/convert.bash
mkdir /tmp/ffmpeg/
id='1' # Начальный индекс файла
cd "$1"
mkdir "$2"
ALL=$( find -P ./ -type f | wc -l )

	# Создание второстепенного скрипта /tmp/convert.bash
	# $1 - id файла. $2 - путь к папке, куда надо положить результат. Файлы блокировок расположены в /tmp/ffmpeg/, имя = id, содержится строка с отн. адресом файла на перекодирование.
echo 'ALL=$( find -P ./ -type f | wc -l )' >> /tmp/convert.bash
echo 'FILE=$( cat /tmp/ffmpeg/$1 )' >> /tmp/convert.bash
echo 'DIR=${FILE%/*}' >> /tmp/convert.bash
echo 'LONG_DIR=${#DIR}+1' >> /tmp/convert.bash
echo 'NAME=${FILE:LONG_DIR}' >> /tmp/convert.bash
echo 'FILENAME=${NAME%.*}' >> /tmp/convert.bash

#
# здесь всякие варианты строк ffmpeg на все случаи жизни
#
echo 'ffmpeg -i "$FILE" -map 0:0 -map 0:1 -s 634x360 -acodec copy -vcodec libx264 -profile high -level 42 -qmax 22 "$2"/"$FILENAME".mp4 > /dev/null 2>&1' >> /tmp/convert.bash


echo 'rm /tmp/ffmpeg/"$1"' >> /tmp/convert.bash
echo 'echo $1 из $ALL завершено' >> /tmp/convert.bash
chmod +x /tmp/convert.bash
	# Конец создания второстепенного скрипта

# Начинаю крутить цикл
		find -P ./ -type f | while read FILE
		do
while [ $( ls -1A /tmp/ffmpeg | wc -l ) -ge "$CORE" ]; do
	sleep 20
done

echo "$FILE" >> /tmp/ffmpeg/"$id"
/tmp/convert.bash "$id" "$2" &
echo $id'/'$ALL" кодируется ""$FILE"
let id++
sleep 2
		done

# жду завершения задач
while [ $( ls -1A /tmp/ffmpeg | wc -l ) -gt "0" ]; do
	sleep 3
done

Собственно что произошло на компах с 10 и 11 дебианом и ffmpeg 4.1 и ещё каким то: в выводе ffmpeg начинают появляться ошибки о неправильных фреймах, битых данных, между ними проскакивают сообщения вида «кусок_имени_реально_существующего_файла не найден» ну и собственно куски имён. Через примерно минуту (2-3 цикла ожидания) основной скрипт наворачивается и перестаёт корректно считать потоки - запускает копии sleep, но не запускает convert.bash. После переборки определённого числа обрубков имён - заканчивает список и ждёт завершения задач.

Метод научного тыка показал, что в этом процессе ключевым является наличие в convert.bash строки ffmpeg -i "$FILE" {какие нибудь операции} "$2"/"$FILENAME".mp4. Самба/реальная ФС - не важно. 1 или много потоков - не важно. Аудио или видео - не важно. Кодек copy или реальное перекодирование - не важно. Наличие спецсимволов или пробелов в именах и путях - не важно.
В отрыве от ffmpeg все компоненты отрабатывают корректно, списки полные, имена целые, файлы-блокировки ставятся и удаляются, потоки считаются верно. Если оставить только ffmpeg -i "$FILE" без выходного файла - косяк не проявляется. Если вместо ffmpeg файлы дёргаются другими программами, например ffplay или vlc, или cp "$FILE" "$2"/"$FILENAME".mp4 - косяк не проявляется.

И самое интересное: изолирование ffmpeg в convert.bash в отдельном терминал командой xterm -e ffmpeg -i "$FILE" -acodec copy "$2"/"$FILENAME".mp4 вроде бы решает проблему! Но это же какой то хаос и трындец. было бы неплохо понять WTF тут происходит.

Перемещено hobbit из general

 , ,

kirill_rrr
()

Dolphin спамит процессы thumbnail.so

Форум — Desktop

Собственно дельфин в lxde/qt5ct, дебиан 10.

Разумеется миниатюры, но не всегда они могут строиться удачно и тогда копии thumbnail.so остаются висеть в памяти и никто не занимается их чисткой. Лишняя полсотня процессов по определению лишняя, а иногда это стадо может занимаь существенный объём оперативки, так что вопросом надо как то заняться.

Наблюдается ли пробема у других пользователей дельфина? В том числе в КДЕ? Известен ли какой то выключатель, или придётся таки запустить сборку мусора через хрон?

 ,

kirill_rrr
()

lvm, чего ждать при сбоях и что потом делать?

Форум — General

Задача простая: объединить несколько дисков в одно блочное устройство, забить файлопомойкой на ехт4. Никаких сложных конфигураций raid, никаких снапшотов и всяких быстрых кешей и прочего.

Но что произойдёт когда диски начнут отваливаться? Будет ли ФС так же легко восстанавливаться как и на обычном диске? Как будет выглядеть переподключение логического тома на горячую, без перезагрузки системы?

З.Ы. Яндекс вываливает много всяких странных и сложных случаев, а простых вариантов как будто никто не описывал. Хотелось бы заранее знать что меня ждёт прежде чем я солью 2 терабайтника в одну кучу.

З.З.Ы. И сопутствующий вопрос: а как оно будет выглядеть если решить вопрос через btrfs? Я где то читал что она сама по себе может занимать сразу несколько дисков.

 ,

kirill_rrr
()

Zram vs Zswap. Часть 2: тесты

Статьи — Desktop

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

( читать дальше... )

 , ,

kirill_rrr
()

Zram vs Zswap. Часть 1: практика

Статьи — Desktop

Хочу поделиться историей вылезшего косяка настройки свопа.

Я до сих пор гоняю в качестве десктопа железки с очень малым объёмом памяти и соответственно очень активно своплюсь. Раньше для этоого использовал традиционный и более распиареный zram, но потом у меня закралось подозрение что я всё делаю неправильно...

( читать дальше... )

 , ,

kirill_rrr
()

Лайки на лоре

Форум — Linux-org-ru

В связи с тихим и незаметным их появлением...

* Нужно
* Пусть будут, но нужен выключатель
* Зло

Перемещено hobbit из polls

 лайки

kirill_rrr
()

Dolphin в отрыве

Форум — Desktop

Собираю окружение на базе lxqt, Дельфин в роли файлового менеджера. Остаётся последний косяк: не работает настройка ассоциации типа файлов, очевидно из за отсутствующего куска КДЕ. В консоль ошибку не светит.

Кто нибудь знает что именно нужно установить чтобы не тянуть всё кде?

 , ,

kirill_rrr
()

RSS подписка на новые темы