LINUX.ORG.RU

Избранные сообщения superuser

Как посмотреть тайминги DDR из линуха?

Форум — General

Подскажите, а возможно как-то посмотреть на линухе тайминги памяти?

У меня в биосе почему-то не показываются текущие тайминги (мать gigabyte), а устанавливать винду только чтобы посмотреть тайминги ddr это как-то... тупо?

 ,

devorg
()

Ядро 5.17 ПК не выключается

Форум — Desktop

Сдрассьте!

Внутренне прекрасно понимаю, ядро тестовое, не факт что вообще понадобится.. но ### уже 5.17.6, а проблема не исчезает..

Стационарный корытор, Манжара, systemd, KDE, Intel, Ksas. Важный нюанс - в бивисе включен wake-on-lan и restore-after-power-lost (отключать их нельзя). *ПК должен включаться по рассписанию, а в крайних случаях - через ssh-запрос на роутер (он с мобилой в одной впн)

В общем, симптом: через 3 секунды после выключения, ПК включается обратно. Не помогает ничего кроме обесточивания: перетискал все S1-S3 состояния, выключал по-разному (с кнопки то же самое), ковырял демонов - не помогает.

Начал думать, роутер флудит wol (микротик 2011) так-вот, нет, работает строго по графику+ssh.

Единственная зацепка - если потушить на материнке wol, то выключается штатно (а смысл?)

Наверняка же была такая проблема и раньше... в исаях 5.17 и на оффорум маньки - ни бита..

 , , , ,

hargard
()

OpenWRT Wake-On-Wan на Archer C7

Форум — Admin

Доброе время суток.
Подскажите, плиз, рабочее решение для Wake on Wan (WOL over Internet) - Archer C7 v2 и OpenWRT 18.06.2.
Перепробовал все рекомендации - и ip neigh на целевой компьютер и на броадкаст MAC. Пробросы делал, порты отрывал, с бубном танцевал.
Внутри сети пакеты бегают, извне - никак.

 , ,

manitu2
()

ChatGPT

Форум — General

Люди, это конец человечества.

Эта штука имеет НАСТОЯЩИЙ РАЗУМ на уровне среднего студента.

Да, делает ошибки, но легко исправляется, если на них указать.

Я в реальном шоке. Тут вот на Хабре один человек написал:

===

ДлчНикакой «войны с ИИ» не может быть. Сейчас мы прошли этап искуственного идиота, и создали искуственного умника. Просто брутфорсом, больше связей и больше размеченных данных. Нейросетка все также не обучается в процессе разговора, все также не моделирует реальность. Или я упустил, и ей задавали вопросы типа «нарисуем круг желтого цвета диаметром 1, через центр круга проведем 4 отрезка желтого цвета длинной 2, середина каждого отрезка пусть совпадет с центром круга, угол пересечения отрезков пусть будет 45 градусов. Какой обьект нарисован, выдай все варианты.»

===

Прикол в том, что я задал ИИ именно этот вопрос и он легко справился. У меня нет доступа к Хабру, чтобы там ответить, но это просто жесть полная. Настала новая эпоха.

Или например, «напиши код, который рисует машину на языке Wolfram Mathematica». Написал код, который рисует микроавтобус.

 

Nxx
()

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

Статьи — Desktop

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

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

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

 , ,

kirill_rrr
()

Система становится неюзабельной после рассвопливания

Форум — Desktop

Ситуция: система глубоко ушла в своп. 6гб+. После завершение каких-то процессов и система «рассвопилась». В свопе осталось 300-400мб. Далее я система становится неюзабельной. При любой деятельности(переключение между вкладками) или что-то открываю в редакторе - активно что-то в hdd происходит со свопом. Такое ощущение, что весь софт начинает игнорить озушку и работает со свопом. Такое было и на пк с 32гб озу(но проявляло себя очень редко ввиду того, что почти всегда всё вращается в озушке и не вылазит в своп), когда запускаются скрипты, которые точно так же 6гб+ вылазят в своп(да-да, бывает и 32гб съедают и 20-30гб своп) и на тачке с малым кол-вом озу(сейчас работаю на пк с 4гб озу + zram(на машине с 32гб озу zram не было)). Как это починить?

Сейчас это крайне неудобно: сидишь что-то пишешь - вроде норм работает. Запустил какую-то фигню; вылезло в своп и потом тачка неюзабельная. Любое действие - шуршит винт и свопится.

Проблема наблюдалась и на debian и на gentoo

Приходится тачку перезагружать

sysctl -a 

https://pastebin.com/UBZj65ZC

 , , ,

serg002
()

zram и zswap или что то ещё,вместе?

Форум — General

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

zram и zswap можно использовать вместе, есть ли распределение, приоритеты?

Zswap на ссд или hdd, lz4 lzo, и что то новенькое появилось?

Zram на маленьком количестве ядер или оперативной памяти, стоит ли ставить на несколько ядер маленькими кусочками или достаточно будет большими но на половину или меньше половине ядер

Есть что ещё новенькое из этой оперы или пока им нет альтернатив действительно полезных а не из шило на мыло?

 , ,

SPRATAY
()

Шок от С. Как склеивать строки?

Форум — Development

Осваиваю си. Всё шло хорошо пока внезапно не понадобилось склеить строки (константные и переменные). Покурил stackoverflow. Предлагают 2 варианта:

Первый - создать char buf[молись_чтобы_хватило] и делать str(n)cat/sprintf в этот buf.

Второй - использовать asprintf, который расширение, нестандарт и вообще.

Вопрос: как вы склеиваете строки? Может есть какая-нибудь общепринятая либа?

Простите за нубский вопрос

 

makoven
()

А поделитесь-ка своим PS1

Форум — Talks

Собственно сабж. Вот скрипт для получения моего:

case "${TERM}" in
xterm*|rxvt*)
    clr_mode=9
    ;;
*)
    clr_mode=3
    ;;
esac

if [ ${UID} -eq 0 ] ; then
  usr_color="\e[0;31m"
  usr_sign="#"
else
  usr_color="\e[0;${clr_mode}2m"
  usr_sign="\$"
fi

# source /usr/share/bash-completion/bash_completion
# или 
# source /etc/bash_completion

# enable showing the dirty (unstaged/staged) state
export GIT_PS1_SHOWDIRTYSTATE=1
# enable showing the stashed state
export GIT_PS1_SHOWSTASHSTATE=1
# enable showing the untracked state
export GIT_PS1_SHOWUNTRACKEDFILES=1
# enable showing the upstream state
export GIT_PS1_SHOWUPSTREAM="auto verbose"

type __git_ps1 &>/dev/null && git_prompt='$(__git_ps1 " %s")'

if [ -n "$SSH_CLIENT" ]; then
    host_prompt="\e[1;33m@$(echo $SSH_CONNECTION | awk '{print $3":"$4}')\e[m"
fi

PS1="\[${usr_color}\]\u\[\e[m\]$host_prompt \[\e[1;34m\]\w\[\e[m\]\[\e[1;35m\]${git_prompt}\[\e[m\] \[${usr_color}\]${usr_sign}\[\e[m\] "

unset color_prompt force_color_prompt git_prompt usr_color usr_sign host_prompt

В итоге выходит нечто такое:

\[\e[0;92m\]\u\[\e[m\] \[\e[1;34m\]\w\[\e[m\]\[\e[1;35m\]$(__git_ps1 " %s")\[\e[m\] \[\e[0;92m\]$\[\e[m\]

Выглядит так

 , ,

KennyMinigun
()

Линковка при сборке, линковка при запуске. Всё сложно.

Форум — Development

Есть библиотека, которая может собираться в двух исполнениях, статической или динамической. Назову её условно libseveral. libseveral.so установлена в операционной системе. Есть разделяемые библиотеки (.so), установленные в операционной системе, они ссылаются прямо или косвенно на libseveral.so в динамическом исполнении и тянут её в память за собой, назову их - libanother1.so, libanother2.so и libanother3.so. Есть мой проект разделяемой биллиотеки (назову libroot.so), которая: а) линкует libseveral.a в статическом исполнении, б) линкует системные libanother1.so, libanother2.so и libanother3.so. В результате, libseveral.a в бинарник не попадает, а тот оказывается слинкован с libseveral.so через остальные библиотеки. Я приблизительно понимаю почему, но не уверен.

libseveral.a
libseveral.so

libanother1 -> libseveral.so
libanother2 -> libanother3.so
libanother3 -> libseveral.so

libroot.so -> libseveral.a
libroot.so -> libanother1.so
libroot.so -> libanother2.so

Вопрос. Существует ли способ сделать так, что бы к libroot.so было прилинковано всё содержимое libseveral.a, а остальные библиотеки, libanother… которые линкуются в рантайме не загружали за собой libseveral.so, а вызывали вместо этого libseveral.a, слинкованный в libroot.so? Менять библиотеки, лежащие в операционной системе нельзя, так же как и устанавливать в систему ничего, кроме libroot.so - требование. Мне необходимо, что бы всё прилинкованное к libroot.so вызывало исключительно libseveral.a, т.к. libseveral.a это мой форк. Как-то так.

 , ,

normann
()

Перепаял чип Amlogic S912 на сгоревшем самодельном ноутбуке

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

Кто помнит предыдущую серию про самодельный ноутбук я сжёг его, включив в него адаптер USB=>UART TTL, а в него видеорегистратор. Не знаю, что пошло не так, но перестал работать USB, сначала отказал хаб, система поначалу загружалась, потом перестала. Бутлоадер работал, в нём USB порты тоже все работали. Но что делать? Заказал новый чип на али, 700р он стоит. Получил, перепаял. Не с первого раза, пришлось несколько раз нагревать снова и шевелить, в итоге всё работает, пост пишу с него. Работает всё, и WiFi, и все USB и SD карточка. Данные на eMMC не пострадали. Приложу фото с бардаком на столе. Нижний подогрев из жёсткой фольги из поддончиков для выпечки, лампа галогенка, регулирование диммером.

Тема с ноутбуком будет продолжаться!

 ,

burato
()

Вопросы по -march=

Форум — General

1) Если я задам -march=amdfam10, будет работать на вообще ВСЕХ процах AMD последующих поколений, или не на ВСЕХ (3DNow! и т.д.)?
Или всё же лучше -march=x86-64 -m64 -Wa,--64,-march=generic64,-mamd64 ?
Как если надо чтобы работало на всех AMD (не интел) процах начиная где-то с 2010-ых?

2) Почему если задать -Wa,-march=generic64, или -Wa,-march=amdfam10 в CFLAGS,
glibc выдаёт ошибку при сборке?:

gcc ../sysdeps/x86/libc-start.c -c -std=gnu11 -fgnu89-inline  -Wa,-march=generic64 -O2 -Wall -Wall -Wwrite-strings -Wundef -fmerge-all-constants -frounding-math -fno-stack-protector -Wstrict-prototypes -Wold-style-definition -fmath-errno   -fPIC -fno-stack-protector -DSTACK_PROTECTOR_LEVEL=0 -funwind-tables  -ftls-model=initial-exec      -I../include -I/w/w/src/build/csu  -I/w/w/src/build  -I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64  -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include -isystem /w/w/pkg/usr/include -D_LIBC_REENTRANT -include /w/w/src/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -DTOP_NAMESPACE=glibc -o /w/w/src/build/csu/libc-start.os -MD -MP -MF /w/w/src/build/csu/libc-start.os.dt -MT /w/w/src/build/csu/libc-start.os
gcc ../sysdeps/unix/sysv/linux/x86_64/sysdep.S -c     -I../include -I/w/w/src/build/csu  -I/w/w/src/build  -I../sysdeps/unix/sysv/linux/x86_64/64  -I../sysdeps/unix/sysv/linux/x86_64  -I../sysdeps/unix/sysv/linux/x86/include -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/x86/nptl  -I../sysdeps/unix/sysv/linux/wordsize-64  -I../sysdeps/x86_64/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/x86_64  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/x86_64/64  -I../sysdeps/x86_64/fpu/multiarch  -I../sysdeps/x86_64/fpu  -I../sysdeps/x86/fpu  -I../sysdeps/x86_64/multiarch  -I../sysdeps/x86_64  -I../sysdeps/x86  -I../sysdeps/ieee754/float128  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64/wordsize-64  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/wordsize-64  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/10.3.0/include -isystem /w/w/pkg/usr/include -D_LIBC_REENTRANT -include /w/w/src/build/libc-modules.h -DMODULE_NAME=libc -include ../include/libc-symbols.h  -DPIC -DSHARED     -DTOP_NAMESPACE=glibc -DASSEMBLER -I/w/w/src/build/csu/. -Werror=undef -Wa,--noexecstack   -o /w/w/src/build/csu/sysdep.os -MD -MP -MF /w/w/src/build/csu/sysdep.os.dt -MT /w/w/src/build/csu/sysdep.os
../sysdeps/x86/cpu-features.c: Assembler messages:
../sysdeps/x86/cpu-features.c:154: Error: `xgetbv' is not supported on `generic64'
make[2]: *** [/w/w/src/build/sysd-rules:891: /w/w/src/build/csu/libc-start.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/w/w/src/glibc-2.32/csu'
make[1]: *** [Makefile:470: csu/subdir_lib] Error 2
make[1]: Leaving directory '/w/w/src/glibc-2.32'
make: *** [Makefile:9: all] Error 2

'xgetbv' is not supported on 'generic64'.
Это он как-то неправильно набор инструкций определил?
Если без -Wa,-march=generic64 — ошибки нет. Т.е. если даже задан -march=x86-64 (gcc), есть ошибка, пока не уберёшь -Wa,-march=

Или неправильно ассемблеру -march= задавать, а надо тока компилятору?

 , ,

teod0r
()

Как лучше сделать сжатый swap?

Форум — Admin

Привет. На моем ноуте периодически не хватает памяти под рабочие задачки. Поэтому использую zswap, он хорошо справляется, но имеет недостаток. Когда нужно вытеснить страницу памяти из сжатого кэша в памяти, он ее разжимает и потом сохраняет с своп (насколько я выяснил дойдя аж до исходников https://github.com/torvalds/linux/blob/master/mm/zswap.c /* decompress */…но подробно не разбрался), что повышает дисковый IO. Мне хотелось бы что бы этого разжимания не было. Отсюда два вопроса.

  1. Есть ли аналог zswap, который умеет скидывать в своп сжатые страницы? zram в этом смысле вообще просто раздел в памяти сжатого свопа вроде бы просто заполнится и дальше будет работать своп на ссд следующий по приоритету без сжатия?
  2. Как можно сделать сжатый файл подкачки на уровне фс, что бы страницы zswap разжимал, а фс опять на лету сжимала? Это костыль конечно, но хоть так можно уменьшить износ ссд при использовании подкачки.

 , ,

i3draven
()

zram с sysvinit

Статьи — Desktop

Если вам необходимо использовать zram с ядром не меньше, чем 5.19 и системой инициализации sysvinit...

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

 ,

vbcnthfkmnth123
()

Замена tmpfs на zram. Есть ли профит?

Форум — General

Вопрос чисто из праздного интереса.

Стоит на виртуалке Arch с 4ГБ RAM. От нефиг делать обновлял ядро не готовым бинарным пакетом, а со сборкой из сорсов. Перед этим вместо tmpfs для /tmp сделал zram-диск на 4 гига. Вся сборка влезла в 2,5 гига на диске, а сам диск в сжатом видел занял где-то 900МБ в памяти.

Имеет ли право на жизнь такой способ оптимизации, или нефиг фигней страдать?

 , ,

Radjah
()

Хочу поредактировать видео h264. Насколько возможно, чем, как?

Форум — Development

Хочу редактировать h264, может быть в перспективе h265. Поредактировать вектора движения между кадрами, макроблоки, низкочастотные коэфициенты, влияющие на цвет/яркость картинки. Если картинку можно будет отскейлить или сместить - вообще замечательно, если просто отломать (заблюрить) отдельный макроблок - тоже хорошо.

По аналогии с редактированием jpeg, который вполне себе можно редактировать по границам MCU (8х8 кубики), можно отдельно править AC/DC коэфициенты и для которого есть даже готовые редакторы или конверторы jpeg -> txt -> jpeg.

Речь здесь идет именно о редактировании h264/h265, а не полном пережатии (распаковка - редактирование - сжатие), так что ffmpeg или Adobe Premiere идут сразу лесом.

Возможно кто-то знает и подскажет тулзы, которые были бы очень полезны в процессе изучения/редактирования потока, навроде https://www.elecard.com/products/video-analysis/streameye, показывающие битстрим, чтобы было сразу видно, где и какие данные, как их достать и как править. Они же будут полезны, когда я буду тестировать уже «отредактированный» поток.

Где-то на Stackoverflow был тред, где РУЧКАМИ сделали валидный битстрим h264, картинка вроде 32х32 пикселя, причем автор уложился где-то в 50-100 байт. Увы, с ходу найти не смог. Вот мне нужны инструменты или учебник по такой магии.

 , , , ,

ruzisufaka
()

Русификация консоли в Slackware 14

Форум — General

Здравствуйте, товарищи.

У меня в консоли после русификации этого дистра вместо кириллицы отображаются квадраты. Как можно исправить? Чё да где прописать, откорректировать и т. д.? Спасибо за внимание.

*Вопрос скорее не о русификации, а о кириллизации консоли.

 

puyamolina
()

Доступ к pipewire-pulse из разных юзеров?

Форум — Desktop

Здрасьти.

Гента уже давно пытается мне навязать pipewire-сервер как замену pulseaudio-серверу, вот решил попробовать.

У меня браузеры сидять под отдельными юзерами, и хочется чтобы в них тоже звук был. В pulseaudio это решается (вероятно опцией auth-anonymous=1).

В pipewire – не могу найти подходящей опции, чтобы сделать unix сокет общедоступным:

# cp /usr/share/pipewire/pipewire-pulse.conf /etc/pipewire/
# vi /etc/pipewire/pipewire-pulse.conf
...
    {   name = libpipewire-module-protocol-pulse
        args = {
        # the addresses this server listens on
            server.address = [
                # dimgel: Вписал сюда то же, что и в /etc/pulse/*.
                "unix:/tmp/pulse-socket"

...
# ls -l /tmp/pulse-socket 
srwxr-xr-x 1 me me 0 2021-09-27 20:25:53.158629941 /tmp/pulse-socket

И звук есть только под моим основным юзером.

UPD. Юзать TCP вместо unix socket не предлагать: это дичь.

UPD2. Solved.

 , ,

dimgel
()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem
()

Помогите грохнуть лог xsession-errors

Форум — General

В общем нужно дропнуть лог .xsession-errors, так как он стал абсолютно мусорным и на ssd он вообще не нужен, так как туда пишется хренолион сообщений о всевозможных багах программ и прочая мусорная лабуда ставшая уже традицией для никсов. Старые способы по созданию линка .xsession-errors в домашнем каталоге на /dev/null и/или изменение ERRFILE в /etc/X11/Xsession не работают. При этом если попытаться переместить лог в /tmp, прописав, например: ERRFILE=${TMPDIR:=/tmp}/.xsession-errors он не создается в /tmp, а эта хреновина продолжает плодить пустые и old файлы .xsession-errors в домашнем каталоге.

 

CoolAller
()