LINUX.ORG.RU

О чём думают Chromium'ы в ALT'е?

 , , ,


0

1

Собственно, решил посмотреть тут ALT Linux (ставил из alt-p10-server-systemd-20210912-x86_64.iso) и внезапно напоролся на неожиданное изменение поведения Chromium'а и основанного на нём браузеров в ALT'е.

Firefox у меня в ALT'е ведёт себя как обычно, всё шустро открывает, никаких проблем с этим нет.

А вот Chromium и основанные на нём браузеры при открытии страницы неслабо так задумываются. Причём дебаг указывает на то, что открытие страниц ставится в очередь, а браузер активно выполняет основной процесс лишь время от времени отвлекаясь посмотреть, а что же там стоит в очереди. В итоге, например, даже главная страница ЛОРа открывается более чем 14 секунд. Twitter так вообще превращается во «вспомни как в 90-е прогружались отдельные элементы страницы».

Так вот, собственно, вопрос: что так сильно отвлекает браузер от выполнения его задач, что он делает?

При дебаге у меня возникли подозрения, что браузер пытается активно до чего-то достучаться через dbus, но у него это не получается. Я вчера полдня по-разному крутил настройки dbus'а, проверял работает ли он вообще. Поставил на паузу и снова запустил через dbus воспроизведение в vlc, перезагрузил настройки dbus'а через dbus. В целом, вроде бы, сам dbus работает. Возможно, ему ещё чего-то не хватает в системе.

Лог strace'а заполнен кучей строк наподобие

recvmsg(35, {msg_namelen=0}, 0)         = -1 EAGAIN (Ресурс временно недоступен)
recvmsg(35, {msg_namelen=0}, 0)         = -1 EAGAIN (Ресурс временно недоступен)
poll([{fd=12, events=POLLIN}, {fd=34, events=POLLIN}, {fd=35, events=POLLIN}], 3, 0) = 1 ([{fd=34, revents=POLLIN}])
recvmsg(35, {msg_namelen=0}, 0)         = -1 EAGAIN (Ресурс временно недоступен)
recvmsg(35, {msg_namelen=0}, 0)         = -1 EAGAIN (Ресурс временно недоступен)
poll([{fd=12, events=POLLIN}, {fd=34, events=POLLIN}, {fd=35, events=POLLIN}], 3, 0) = 1 ([{fd=34, revents=POLLIN}])
recvmsg(35, {msg_namelen=0}, 0)         = -1 EAGAIN (Ресурс временно недоступен)
recvmsg(35, {msg_namelen=0}, 0)         = -1 EAGAIN (Ресурс временно недоступен)
А dbus-monitor показывает события с «member=NameLost» и «member=NameOwnerChanged».

★★★★★

Ответ на: комментарий от darkenshvein

Я со вчерашнего вечера пишу в чат ALT'а в Телеграме. Мне там уже надавали кучу советов по тюнингу системы, но на поведении Chromium'ов это пока никак не отразилось. Сами участники чата о такой проблеме впервые слышат, у них всё работает.

saahriktu ★★★★★ ()
Ответ на: комментарий от anonymous

Настроек DNS'ов не нашёл, iftop показывает, например, запросы к one.one.one.one (для Chromium'а из репозитория ALT'а) и *.cloudfront.net (для Brave'а). При этом Chromium и Brave тормозят одинаково.

--no-sandbox не помогает.

saahriktu ★★★★★ ()
Ответ на: комментарий от anonymous

А в /etc/resolv.conf IP моего роутера, а в настройках роутера DNS'ы, которые выданы провайдером.

saahriktu ★★★★★ ()

А твой hostname нормально/быстро резолвится? У меня была подобная проблема с Firefox, которые на старте резолвил hostname, а из-за древней баги в systemd, которую никто не хочет чинить, он может резолвится секунд 30.

Vovka-Korovka ★★★★★ ()
Последнее исправление: Vovka-Korovka (всего исправлений: 1)
Ответ на: комментарий от Vovka-Korovka
# ping -c 3 maganux
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.033 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.037 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms

--- localhost.localdomain ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2028ms
rtt min/avg/max/mdev = 0.033/0.037/0.041/0.003 ms
#
saahriktu ★★★★★ ()

пятизвёздный эксперт по всему традиционно беспомощен при появлении реальных проблем)))

anonymous ()
Ответ на: комментарий от anonymous

Конечно страничка старенькая …

anonymous ()

Chromium сходит с ума, увидев системную кодировку KOI-8R?

greenman ★★★★★ ()

Дебаг с другой стороны также показывает, что причина тормозов Chromium'ов у меня в ALT'е - «Thread pool: A pool of physical threads with a shared task queue.».

Они почему-то начинают ставить задачи в очередь. Отсюда и тормоза.

Вычислить причину у меня пока что так и не получилось.

saahriktu ★★★★★ ()
Ответ на: комментарий от grem

Спасибо, как выясняется, не этот баг является причиной тормозов. В других дистрибутивах он тоже наблюдается, но при этом Chromium'ы там шустры. А тут дело в чём-то другом, в том, что заставляет браузер ставить задачи в очередь.

saahriktu ★★★★★ ()
Ответ на: комментарий от grem

Некоторые дефолты. Я уже подкрутил ulimit и sysctl, а также поставил пакет pam-limits-desktop.

Конечно, всего можно не учесть, на 100% о различиях между серверным и десктопным вариантом даже в чате ALT Linux'а не в курсе.

Но остальной-то софт нормально работает, включая Firefox. Это Chromium'ы где-то грабли нашли.

saahriktu ★★★★★ ()

Загадка решена! Chromium'ы тормозили потому, что им не хватало шрифтов и они их искали.

apt-get install fonts-ttf-liberation fonts-ttf-liberation-narrow fonts-ttf-google-croscore-arimo

и Chromium'ы сразу перестали тормозить.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Ха, прикольно, чё сказать — отечественный продукт! Когда в Федоре или Шапке ставишь хромого, то он всегда тянет за собой шрифты либерейшн, жестокая зависимость, никакие твики dnf.conf не помогут.

papin-aziat ★★★★★ ()
Ответ на: комментарий от saahriktu

и они их искали

Где? Где они их искали 14 секунд?

apt-get install fonts-ttf-liberation fonts-ttf-liberation-narrow fonts-ttf-google-croscore-arimo

У меня вся эта порнография заблочена в fonts.conf:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
 <selectfont>
  <rejectfont>
   <glob>/usr/*</glob>
  </rejectfont>
 </selectfont>

И никаких тормозов при старте.

LamerOk ★★★★★ ()
Ответ на: комментарий от papin-aziat

Ну, в дестопных версиях ALT'а эти шрифты, наверное (не смотрел), и так из коробки. А я серверную версию поставил, вот и продебажил это всё с другой стороны.

saahriktu ★★★★★ ()
Ответ на: комментарий от LamerOk

Где? Где они их искали 14 секунд?

Они их искали каждые 400 мс.

И никаких тормозов при старте.

Там суть в том, что Chromium'ам нужны шрифты семейств Helvetica, Arial и san-serif. При этом, возможно, не обязательно конкретно liberation и конкретно из /usr.

saahriktu ★★★★★ ()
Ответ на: комментарий от papin-aziat

В xterm'е у меня Terminus, а в Kitty Iosevka Term Bold из ~/.fonts.

В /usr были установлены шрифты fonts-ttf-google-noto-* и fonts-ttf-google-droid-*. Ещё в ~/.fonts у меня есть Go-* и RobotoMono-*. Ну и всякая «мелочь», которую мало кто знает (наподобие digital-7, DS-DIG*, TT2020*, Galaktika, Precious и Kremlin Orthodox Church).

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Скорее что-то с системными настройками шрифтов, видимо ното и дроид не указаны в качестве альтернативы ариалу, а либерэйшн или аримо да.

Шрифты так давно везде хорошо работают, что я вообще забыл куда копать, к тому же таскаю с собой хорошо проверенный fonts.conf :-)

papin-aziat ★★★★★ ()
Ответ на: комментарий от papin-aziat

Возможно.

Главное, что всё хорошо закончилось. 😎

saahriktu ★★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.