И это всё МОЁ

Один из членов команды разработка социальной сети Facebook, Роман Гущин, предложил в рассылке разработчиков набор из патчей для ядра Linux, направленных на улучшение работы с памятью через реализацию нового контроллера управления оной - slab (slab memory сontroller).




Распределение slab – это механизм управления памятью, предназначенный для более эффективного распределения памяти и устранения значительной фрагментации. Основой этого алгоритма является сохранение выделенной памяти, содержащей объект определенного типа, и повторное использование этой памяти при следующем выделении для объекта того же типа. Этот метод был впервые введен в SunOS Джефом Бонвиком и сейчас широко используется в ядрах многих операционных системах Unix, включая FreeBSD и Linux.




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


По результатам испытаний следует, что предложенный метод управления памятью позволяет повысить эффективность использования slab до 45%, сократить использование для механизма памяти, а также понизит общее потребление памяти ядром ОС. Также за счет сокращения количества выделяемых под snab страниц уменьшается фрагментация памяти вцелом, что не может не сказаться на быстродействии системы.


Новый контроллер уже несколько месяцев тестируется на рабочих серверах Facebook, и пока это тестирование можно назвать успешным: при отсутствии потерь в быстродействии и увеличивающегося количества ошибок замечено явное уменьшение расхода памяти - на некоторых серверах до 1Гб. Это число довольно субъективно, так, например, ранее проведенные тесты показали немного меньшие результаты:



  • 650-700 МБ на веб-фронтенде

  • 750-800 МБ на сервере с кэшем баз данных

  • 700 МБ на DNS-сервере


>>> Страничка автора на GitHub


>>> Результаты ранних тестов









 , ,








И это всё МОЁ

Всем доброго дня.

Необходимо развернуть LTSP сервер, но на машине нету интернета (и не будет). Помогите решить проблему.

Нашел такое решение ltsp на Debian , но меня оно не спасло. Может не так делаю….









 








И это всё МОЁ

Всем привет. Я создал VPN канал и подключил 1 пользователя. Отключил шифрование.
Сервер - Linux.
Клиент - Windows.
OpenVPN работает по UDP и порту 9999
В оба конфига были внесены изменения:
auth none
cipher none
ncp-disable


При этом, почему то скорость upload очень низкая


Обычный интернет:
Прием - 57Мбит/с
Отдача 55Мбит/с


Через VPN:
Прием - 55 Мбит/с
Отдача - 8 Мбит/с


Тесты проводились на сайте speedtest и с одним сервером.
Помогите, пожалуйста, разобраться!









 








И это всё МОЁ

Доброго всем времени суток,

Никак не могу заставить postfix и opendkim подписывать боунсы от amavis’а (остальное прекрасно подписывается).

Т.е., к примеру, с mail.ru приходит письмо с запрещенным вложением, амавис говорит «Banned…», дальше постфикс пытается отправить боунс на майл.ру, и тут

dsn=5.7.1, status=bounced (host mxs.mail.ru[94.100.180.104] said: 550 5.7.1 This message was not accepted due to domain (mydomain.com) owner DMARC policy (RFC 7489) https://help.mail.ru/mail-help/postmaster/dmarc (in reply to end of DATA command))

Накопал и сделал вот так, но все равно не работает:

smtpd_milters = inet:127.0.0.1:8891,inet:127.0.0.1:8893

internal_mail_filter_classes = bounce

non_smtpd_milters =

##non_smtpd_milters = $smtpd_milters

header_checks =

body_checks =


127.0.0.1 в opendkim.conf конечно же прописан…









 , ,








И это всё МОЁ

Основная причина - фиксированное количество inodes.

В процессе работы может быть много мелких файлов.

Заранее задать inodes при создании ФС больше на порядок - не вариант, да и не нравится мне эта концепция фиксированного значения.


Почитываю про btrfs, не совсем понял её поведение при hard reset, а он может быть, примем как условие, ups не предлагать.









 








И это всё МОЁ

У меня есть проект в виде библиотеки на плюсах.

В проекте есть класс который надо тестировать.

Есть нужда сделать отдельный тестирующий класс, расположить его в отдельном проекте, и вписать его как friend в тестируемом классе. Дилемма в том что при обычной сборке библиотеки (даже Debug) указанной строчки friend быть не должно, но для сборки теста строчка нужна.

Хочется что бы для сборки простой библиотеки нужно было просто набрать CMake и make без всяких лишних дефайнов. Для сборки теста набрать что-то вроде CMake && make test.

Допустим есть

product/CMakeFile.txt
product/lib/CMakeFile.txt
product/test/CMakFile.txt

Как в данной ситуации это лучше сделать?








 ,








И это всё МОЁ

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



Также планируется использование отечественных видеоплатформ наподобие Zoom и Skype, но «только защищенных и устойчивых к хакерским атакам», добавил министр.



Если таких же «защищенных» как вконтакте, то лучше оставьте Zoom - разницы не заметите.



Однако, по его словам, для этого потребуется установка камер в классах и улучшение ситуации с интернетом в школах.



Теперь камеры в классах, как в китайских школах? Сканирование лиц и поиск скучающих с последующим наказанием?


https://meduza.io/news/2020/04/23/gosplatformu-dlya-distantsionnogo-obucheniya-shkolnikov-ob-edinyat-s-vkontakte









 , , , ,








И это всё МОЁ

Скажите, насколько соответствует стандарту реализация работы с viewport sizes в браузерах? То есть, viewport - это ведь размер окна, за вычетом декорирующих элементов (scrollbars, statusbar, menu, bookmark bar, и т.д.)?


Как влияет на рендеринг в переменных vw/vh создание боковых панелей типа F12, TreeTab и т.д.?


Корректно ли браузер перерисовывает холст при resize окна браузера?


Поделитесь опытом. А то есть сомнения, что всё сделано корректно, особенно - при ресайзе окна браузера.









 , ,








И это всё МОЁ

Собственно, сабж. Раньше пункт «Delphi» был в первой двадцатке потому, что под этим названием учитывали не только Delphi, но и Object Pascal.

После разделения пунктов они оба покинули TOP 20.

У Delphi теперь 22-е место, а у Object Pascal'я - 73-е.

COBOL на 26-м, Rust на 27-м, Haskell на 41-м.








 , ,








И это всё МОЁ

Здравствуйте.Хочу поменять телефон. У меня вечная проблема с батареями. Есть ли телефоны (смартфоны) с неубиваемой батареей? В игры не играю. Пользуюсь только для звонков и интернета. Также чтобы не тормозил. Бюджет до 10к.









 








И это всё МОЁ

В прошлом я вырезал из строки запросов t=партнёр, редактируя /usr/lib/firefox/distribution/searchplugins/locale/


Сейчас инет рекомендует качать версию с сайта, а мне так лень перенастраивать firefox.


Кто-то знает другие способы избавления от этого в строке запросов к той же «утке»? Или это стали вшивать в браузер?









 








И это всё МОЁ

Здравствуйте, всем,


Все работало, и ничего в настройках самбы не менял. Возможно обновилась сама самба при очередном обновлении пакетов. Но теперь ситуация такая: все шары работают, кроме единственной шары /var/www, где был параметр force user = www-data чтобы можно было править файлы через самбу. Это все работало еще буквально несколько дней назад. Теперь при добавлении этого параметра винда ругается «Идентификатор безопасности имеет неверную структуру». При убирании force user все становится ок.


Единственное, что поменял в системе - сменил имя хоста. Это могло повлиять на самбу? Если да, то куда смотреть?


Спасибо.









 ,








И это всё МОЁ

Имеется такой список:

# Таблица репозитариев
gitRepos:
- [ "idk.git", "master", "idk", "idk.pro", "" ]
- [ "touch_widgets.git", "master", "tw_integration", "tw.pro", "" ]
- [ "akson.git", "radioline", "akson", "", "/usr/share/akson" ]

Я делаю по ней всякие циклы with_items. В этих циклах я могу получать значения столбцов по числовому индексу, например {{ item[2] }}, вот так:
  - name: Получение последних изменений из GIT
shell: "cd ` gitReposPath `/{{ item[2] }} ; git pull"
with_items:
- "` gitRepos `"

Но писать магические константы индексов некомильфо. Поэтому я сделал переменные:
# Структура таблицы репозитариев
gitTable_RepoNetworkPath: 0 # Сетевой путь к Git-репозитарию
gitTable_BranchName: 1 # Имя ветки
gitTable_DirectoryName: 2 # Имя каталога
gitTable_ProFileName: 3 # Имя файла проекта
gitTable_TargetCopyDirectoryName: 4 # Директория для прямого копирования

И хочу вместо индексов писать осмысленные имена переменных. То есть, вместо
{{ item[2] }}

я пытаюсь написать:
{{ item[ ` gitTable_DirectoryName ` ] }}

Но Ansible меня не понимает, и дает ошибку:
fatal: [compilingHost]: FAILED! => {"msg": "template error while templating string: expected token ':', got '}'. String: cd ` gitReposPath `/{{ item[ ` gitTable_DirectoryName ` ] }} ; git pull"}


Вопрос: Как получить значение переменной цикла item, когда она является списком, причем индекс задать не магическим числом, а переменной?








 ,








И это всё МОЁ

Добрый день, решил переписать старые проекты на mojolicious (для расширения кругозора). Возникли вопросы. Прошу помочь разобраться. Для соединения с БД использую старый, добрый DBI. С CGI при невозможности установить соединения с БД я использовал die:

$dbh = DBI->connect($data_source, $username, $auth, \%attr) || die $dbh->errstr;

В mojolicious использовать die нельзя, рекомендуется использовать croak из модуля Carp.
$dbh = DBI->connect($data_source, $username, $auth, \%attr) || croak($dbh->errstr);

но тогда возникает ошибка в случае невозможности подключиться
at /lib/proba/lib.pm line 22.

как раз croak








 








И это всё МОЁ

Мой недавний топик удалили с меткой ‘5.3 Национальные/политические/религиозные споры (-7)’. Но кроме ссылки на петицию в поддержку экономики там ничего не было. Никаких национальных, политических и религиозных постов я не писал. Так почему должна страдать моя тема, а не конкретные посты конкретных людей, которые как-то нарушают правила форума? Почему мне снизили рейтинг за то, чего я не делал?


Или добавляйте новое правило «запрет обсуждения экономики», или верните мне рейтинг. Я против такого подхода, когда удаляют темы по надуманным причинам и снижают рейтинг за то, чего ты не делал.









 , ,








12:59

Ламеры

И это всё МОЁ

Дарова форумчане!Что вы думаете про ламеров в мире линукс?









 ,








И это всё МОЁ

https://www.amd.com/en/press-releases/2020-04-21-amd-expands-3rd-gen-amd-ryze...

Для Ъ!: два новых четырёхъядерника с многопотоком на Zen2, будут в мае за 100 и 120 долларов соответственно.








 ,








И это всё МОЁ

Здравствуйте. Можно настроить почтовый сервер на виртуальной машине (ubuntu), чтобы joomla (на той же машине) отправляла на него уведомления итд? Там же внутренний ip(через виртуальную сеть хоста).
Как можно будет проверить его работу?









 ,








И это всё МОЁ

Подскажите, где купить недорогие корпуса для OrangePi PC и Cubieboard1. Смотрел по РФ - в основном, «нет в наличии» или ABS по конским ценам порядка 999 руб. С Али вначале нашел, потом повторно не смог найти нормальные корпуса. Нужен пластик, твердая пластмасса.


И ещё вопрос. Чем обычно крепите к планке/поверхности (когда плата в корпусе)? Какие стойки/винты используете?









 , ,








И это всё МОЁ

есть домофон на процессоре mips 24k linux 2.6.21 родная камера накрылась, работала она по 4 проводах usb, подключил модуль камеры от старой ip камеры, kmsg пишет
uvcvideo: Probing generic UVC device 1
<6>uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:3399)
<7>uvcvideo: Scanning UVC chain: OT 3 <- PU 2 <- IT 1
<7>uvcvideo: Found a valid video chain (1 -> 3).
<6>uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
<3>uvcvideo: Failed to query (1) UVC control 1 (unit 4) : -32 (exp. 4).
<3>uvcvideo: Failed to query (1) UVC control 1 (unit 3) : -32 (exp. 4).
<7>uvcvideo: UVC device initialized.
при этом если запустить uvc_stream камера на порте 8080 ір адреса устройства начинает показывать нормальное изображение, но при этом на клиетской веб странице вместо изображения камеры черный квадрат, в андроид приложении тоже черная картинка, при нажатии на кнопку вызова домофона в тмп падают jpg файлы нулевого размера, куда копать на что смотреть?









 , , ,