← All posts tagged Linux

SannySanoff
Linux *?

Шото непонятное у меня с SSD.

Короче, у меня в тазик (десктоп) воткнуто 5 дешевых SATA3 SSD и сделан software RAID-0. Отставляем пока в сторону RAID-0, у меня есть /dev/sda, dev/sdb итд.

Короче, есть бенчмарк "fio":

я запускаяю randread на /dev/sda, имею там 320 МБ/сек.
я запускаяю randread на /dev/sdb, имею там 320 МБ/сек, и так далее
я запускаяю read на /dev/sda, имею там 550 МБ/сек as advertised linear read.
я запускаяю read на /dev/sdb, имею там 550 МБ/сек и так далее.

запускаю одновременно read на /dev/sdb и /dev/sda, имею там 550+550 МБ/сек
запускаю одновременно randread на /dev/sdb и /dev/sda, имею там 220+50 МБ/сек, причем sdb стабильно медленнее
запускаю на 5 дисков — получаю 220+50+50+50+50, причем оно там с каждым разом всё больше как бы разогревается. После 5 запуска (каждый запуск 30 секунд) там уже прямо-таки 170+130+130...

Шо происходит? Мне не ясно. Контроллер в силах пропускать 5*550 — доказано линейным чтением.
Каждый диск по-отдельности способен делать 320 рандом. Количество IOPS такое же самое.
А вместе — ерунда. Где ботлнек?

(всякие noop, mq-deadline погоды почти не делают)
(если оперировать поверх /dev/md0 вместо чтобы руками по каждому, сумарные числа не меняются для линейного чтения, становятся раза в 2 хуже для рандомного чтения)
(какая-то фигня случилась после ребута — новое ядро?. До ребута рандом рид бывало достреливал до 1000 суммарно, сразу после ребута та же команда дает 290-310).

Следует отметить? что тот же бенчмарк на google cloud дает и рандом и линейное чтение одинаковые цифры. Там 8 Local SSD * 350 = ~2800 MB/sec. В отличие от SATA SSD там стоит NVME.

Также надо сказать что у меня в тазике системным стоит NVME, и там когда делаешь линейное чтение, там медленно(!) плавает от 170 до 550 (!)

Можно бы конечно сослаться на износ, внутренний ремап блоков, да и хрен с ним.

Вопрос про 5 параллельных SATA SSD которые пересекаются в каком-то узком месте, причем после ребута стало хуже — неясен.

Вопрос к знатокам.
SannySanoff
жизнь programming продуктивность Собрал себе девайс на Ryzen 3900x (как писал раньше, 3950х не досталось).
Карту Radeon туда воткнул.

Погонял: венду, clear linux, ubuntu 19.10.

Clear Linux сырой, и какой-то атипичный. В /etc/environment (грубо говоря) лежат CFLAGS которые портят мой билд, например. Кучи дефолтных файлов нету или хрен найдешь (например sysctl.conf), ставится всё чересчур неприятно, половины софта нету. Хотя по бенчмаркам на AMD — он самый быстрый. Ну, наверное.

С++ билд моего проекта ускоряется до 12 потоков, далее 24 он остается таким же. НО на это влияет, естественно, самый большой С++ файл, который компилится один, в конце списка, но может и не он 8). Как в cmake переордерить — яхез, ну и нафиг.

AMD для линукса по ощущениям лучше, чем NVIDIA, т.к. последняя где-то по ощущениям течет (открытая сессия через несколько часов чуток тормозит в отрисовке — субъективно, с Radeon такого нету). Всякие webgl вертятся на ура.

Предыдущий основной девайс — Lenovo + Intel 8550H. По ощущениям разница весьма заметна.

Вердикт: ничо так, всё не зря.
SannySanoff
C++ Windows programming Внезапно сообщаю, что грустная тема из псто #2944954 (как писать на плюсах под вендой если ты основательно сидишь на jetbrains IDE) имеет продолжение.

Clion + MS Compiler — нету отладчика
Во-первых в последней бете отладчик завезли, отлаживается через lldb, да вроде основные функции работают, всякие ушлые условные брекпойнты итп еще не допилили.

Во-вторых, нашел параллельный билд для CL (ms c++ compiler) (раньше не было), называется он jom, и притворяется nmake, и написан отчего-то на qt core, да пусть хоть на питоне.

Короче, проделал бенчмарки как конпелится мой проект, активный кусок который я пилю (36 compilation units, сильно не без templates), thirdparty и холодные куски не перекомпиляются, debug build:

28 sec = msvc 2019, jom instead of cmake, win
19.3 sec = cl /mp, visual studio 2019 (msbuild?), win
11.5 sec = zapcc(implements clang-7), linux
18.904 = clang8, linux
23.785 = gcc9, linux

такие дела. Говорят, clang умеет притворяться CL, осталось собрать zapcc под вендой и проверить его в этой роли.

почему мне не пофигу? потому что у меня жабовский склад ума, и я люблю когда оно быстро конпелит.

А вся эта байда с вендой потому что линукс не вышел у меня из слипа однажды недавно, скотино. В этой области конечно против гейбуков слова не скажешь.
SannySanoff
Linux Windows programming icfpc А вот готовлюсь к ICFPC. А вот в этом году будем на плюсах. Готовлю заготовку CMake проекта, чтобы он запускался на трех платформах, тк участники будут разные. Qt у меня внутре, в Qt есть QOpenGLWidget, в нем рисую через QPainter (2d graphics). Взял с 2018 года модельку, налабал рендерер (на 2d canvas, сам делаю перспективные проекцыи и сортирую по z-index ерунда короче)

MSVC/Windows: Отрисовка 140мсек, математика 4 сек
Clang/Linux: Отрисовка 115мсек, математика 2.5 сек.

Оба — релиз билды на одном железе, время — на 1 frame в анимации. Знаю, шо отрисовка медленно, не в этом суть.

Главное беспокоящее, что что-то чахнет колосс.
SannySanoff
Linux кретины интеллектуальное_гопничество Вы наверное видели, что интеллектуальные гопники (человека 2-3) из рядов coreutils мейнтейнеров добавили кавычки в выхлоп от "ls": короче, файлы с пробелами выводятся в кавычках, а без пробелов — без кавычек, и кавычки — то они есть, то их нету, и от этого вывод "ls -l" неповторим и бесподобен. "Легче копипастить в баш". Ага, а имя последнего файла копипастить в гуй вообще сказка.

-rw-r--r-- 1 san san 0 Apr 4 16:59 file1

-rw-r--r-- 1 san san 0 Apr 4 16:59 file2

-rw-r--r-- 1 san san 0 Apr 4 16:59 file3

-rw-r--r-- 1 san san 0 Apr 4 16:59 'hello africa'

-rw-r--r-- 1 san san 0 Apr 4 16:59 least1

-rw-r--r-- 1 san san 0 Apr 4 16:59 least2

-rw-r--r-- 1 san san 0 Apr 4 16:59 least3

rw-r--r-- 1 san san 0 Apr 4 17:41 '"Winter'\''s tale" song'

Уроды, короче. Они объяснили это так: мы составили список плюсов и минусов от нашего замечательного нововведения, перемешав эстетические минусы с функциональными плюсами, и посчитали с карандашиком, и заключили, что профит от копипастинга в баш превышает боль от вытекших глаз юзеров и прочих минусов. И вообще, ставьте environment variable, если вам не нравится.

Обычные люди им ответили: вы насрали на 40 лет unix традиций, на глаза сотен тысяч людей, мы работаем с бесчисленным к-вом серверов, нам теперь везде менять настройки вместо sane defaults которые были раньше?

Ответ разработчиков был: "ну мы же составили список, с карандашиком, и да, нам насрать, у нас хороших галочек больше чем плохих, какие вам еще нужны аргументы?". Что означает обычное интеллектуальное гопничество.

Та же фигня произошла с командой top. Я сидел на убунте, не знал, а вот на арчике оно типа быстрее релизится, и будущее уже с нами. Топ на арчике теперь не показывает процессы где 0% цпу. Так вот, а если запустить top -o RES (сортировка по размеру памяти), то если процесс занимает 20 гиг, но тихо сидит, то его не будет видно, потому что у него 0% цпу!!! Таким образом, по умолчанию в топе нет способов гарантированно увидеть кто сожрал RAM, без починки настроек как было раньше. Потому что все есть: и хипсторы, и цвета, и хелп многостраничный, и галочки с карандашиком, вот только ума нету у них.

Я вот представляю, как иной дедушка лет в 80 сидит на завалинке, и смотрит на все это. А я только за 40 перевалил, но уже этой фигни столько насмотрелся, как следующее поколение ломает нафиг sane defaults. А что будет дальше? Так вот, а в 80 лет дедушка сидит, и видел он такого — представляете сколько к такому возрасту? Сидит, и думает "испохабили такой мир, весь! нафиг теперь жить?". Ну, и действительно, после этого легко дается ему переход в мир иной. Я начинаю это уже немного понимать. Я так наблюдал Киев с 1999 до 2004го, как раз там понаехов понаехало в тот период, жить стало невмоготу (а в 2005 — Ющенко ТАК). Свалил я оттуда лёхко, в момент!
SannySanoff
Linux Mac продуктивность Прямо душа радуется, когда на Линукс вернулся.

Отключил еще window manager композитинг нафиг. Зачем? Наслаждаюсь ветерком.

Посидел неделю на KDE. Очередной подход считаю завершенным, вернулся в Mate, там как раз давеча hidpi прикрутили.

Новое железо (Lenovo X1 Extreme) рулит по скорости, но есть некоторое "но" у Макоси по сравненю с Линуксом, которое в принципе не лечится на Линуксе. Например в макоси на каждом мониторе свой scale factor, а в Линуксе одно на всех, поэтому окна с 4K монитора тянутся на встроенный, получаются крупные (у меня не 4К на ноуте). И еще особенность этого ноута, встроенная видяха (intel) не умеет в 2 монитора, только nvidia. Кинул ноут в рюкзак — а там по прежнему нвидия работает, т.к линукс не умеет в оптимус (про bumblebee еще не ковырял, пишут что вроде умеем), а пока что его нужно ребутить для переключения из nvidia в интел. Потребление idle 6W vs 20W, такие дела.

Плюс набор софта у меня там был для time tracking (ловил урлы, приложения, показывал таймлайн, суммы, теги по проектам, рисовал суммарное время). Тут пришлось свое быренько набросать.

Но все плюшки линукса УРА! Акселераторы! Шорткаты в пальцах!
SannySanoff
programming аморальное Чем дальше тем хуже ресетить на мускуле рутовый пароль, которой оно поставило в неизвестно что во время неинтерактивной инсталляции в убунте (ставил на самом деле pop! linux который убунта). Сегодня не помог и стек оверфлоу и все известные и неизвестные методы из методичек, 20 минут уже как процесс идет.
SannySanoff
Linux жизнь Невозможно после гейбука работать на линуксе на новом ноутбуке. Он делает все быстрее, чем я нажму ентер. Очень необычно и бесит, как будто не контролирую ничего.
SannySanoff
Linux faggots Помню раньше линуксы писали так, что это был инструмент понятный сразу что делает. Писалось для людей.

Я не админ. Я программист. Я привык к детерминированным инструментам. systemd таковым не является. Мне например нужно написать стартап скрипт /etc/rc.local, и чтобы он запускался . Каждый раз на новом сервере я гуглю как это делать, делаю копипасту, и каждый раз — то оно не работает вообще, то зависает когда делаешь ему старт и все равно не работает, а когда-то даже работало. Я матерюсь каждый раз и трачу свое драгоценное время.

Это поделие мне ненавистно. Его писал урод. Его карма испорчена страданиями миллионов таких несчастных как я.
SannySanoff
Linux programming С++ внезапно Откровение: то, что тормозит на чтении 100000 мелких файлов на ext4 даже когда они все в буферах закешированы, тормозит так же точно и на рамдиске, если эти файлы туда засунуть. Директории в процессе не сканируются еслишо, прямо опен делается внутре.

cpu sys 12%, user 5% например (одно ядро)

С какого это бодуна?
SannySanoff
Linux Сегодня я узнал как в шелл делать временные файлы на секундочку. Например, хочет инструмент на вход только имя файла:

$ tool -input filelist.txt

а у нас этот файл строится через какой-то find, например. Короче, вот такой синтаксис:

$ tool -input <(find . -name *.bin)

Подставит, получится:

$ tool -input /dev/fd/11

А в содержимом /dev/fd/11 будет результат find. Через пайп делает, конечно (проверил). Файл не создает, что иногда, наверное, было бы полезно.
SannySanoff
Linux profit Отключил compositing в KDE, и под линуксом на 4К ВСЕ стало жрать меньше в 5 раз (а так — анимированная вертушка в хроме жрет столько-то процентов, да и вообще сам он покушывает). Теперь вообще клевота.

А под гей-осью (macosx) так делать запретили в купертине!
SannySanoff
Linux KDE не пользовал раньше, сейчас нравится, полет нормальный. На 4К ведет себя и выглядит отлично. Кастомайзится норм, и темы и шорткаты, таск свитчер пока меня удовлетворил полностью. Готов к десктопу.
SannySanoff
Linux Bluetooth (A2DP) под линуксом на гейбуке конфликтует с WiFi, звук рваный приходит если что-то тянется хотя бы 1.5 мбайта/сек.
SannySanoff
Linux Mac продуктивность Я запустил в live mode убунту на гейбуке со своим нищебродским 4К монитором, И ОНО НЕ ТОРМОЗИТ НА НЕМ как гей-ос тормозила! Да и вообще летает очень здорово, ИДЕЙка отрисовует как родная, интерфейс умножай, не умножай, одинаково летает.

Карочи, дуал-бут! Скорее дуал-бут! Все в сад!
SannySanoff
Linux faggots Свершилось, да!

Убунта рекомендует для записи .iso на usb flash drive программу etcher, которая написана под Electron и у нея 56 мегабайт инсталлятор!

Вот ея интерфейс —

etcher.io

Credo quia absurdum!