(Решено) Очень долго стартует libreoffice

Насчет возможной сетевой задержки, проверил, лезет ли эта зараза куда либо непонятное — и действительно лезет к сервису nscd (демон кэширования службы имён)
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) ….......
Согласно конфигу /etc/nscd.conf задействованы passwd, group, hosts, netgroup
Проверил, уменя этот сервис не запущен
$ systemctl is-enabled nscd
disabled
Может действительно в нем задержка — покажет только трейс.
PS...........нет, это несеръезно, что то я загнул насчет nscd - если он активирован, то по идее должно работать быстрее......
Ошибки не исчезают с опытом - они просто умнеют
С трасировкой


$strace -t libreoffice -writer
.........................................
08:56:55 recvmsg(3, 0x7fff9dcf2e90, 0)  = -1 EAGAIN (Resource temporarily unavailable)
08:56:55 recvmsg(3, 0x7fff9dcf2e80, 0)  = -1 EAGAIN (Resource temporarily unavailable)
08:56:55 read(4, "20%\n25%\n30%\n35%\n40%\n", 255) = 20
08:56:55 futex(0xcf1d54, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 5, {1428656215, 590318000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
08:56:55 futex(0xcf1d80, FUTEX_WAKE_PRIVATE, 1) = 0
08:56:55 poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}])
08:56:55 writev(3, [{"8\2\4\0\2\0\200\4\4\0\0\0\365\365\365\0C\0\5\0\1\0\200\4\2\0\200\4H\0\275\0"..., 72}, {NULL, 0}, {"", 0}], 3) = 72
08:56:55 recvmsg(3, 0x7fff9dcf2e90, 0)  = -1 EAGAIN (Resource temporarily unavailable)
08:56:55 recvmsg(3, 0x7fff9dcf2e80, 0)  = -1 EAGAIN (Resource temporarily unavailable)

08:56:55 read(4,                           -------пауза ----------                        "50%\n", 255)          = 4

08:57:35 futex(0xcf1d54, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 7, {1428656255, 398127000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
08:57:35 futex(0xcf1d80, FUTEX_WAKE_PRIVATE, 1) = 0
08:57:35 poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}])
08:57:35 writev(3, [{"8\2\4\0\2\0\200\4\4\0\0\0\365\365\365\0C\0\5\0\1\0\200\4\2\0\200\4H\0\275\0"..., 72}, {NULL, 0}, {"", 0}], 3) = 72
08:57:35 recvmsg(3, 0x7fff9dcf2e90, 0)  = -1 EAGAIN (Resource temporarily unavailable)
08:57:35 recvmsg(3, 0x7fff9dcf2e80, 0)  = -1 EAGAIN (Resource temporarily unavailable)
08:57:35 read(4, "55%\n60%\n75%\n80%\n100%\nend\n", 255) = 25

Немного позанимался анализом запуска либры. Вот что получил.
Для временного анализа каждого системнего вызова запустил $ strace -r libreoffice -writer , но утонул в логах и решил начать, как обычно, с общей картины - $ strace -c libreoffice -writer
Вот что выходит у меня
1-ый запуск либры (как правило, около 20с)
 $ strace -c libreoffice -writer
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 88.79    0.223333        7204        31         7 futex
  7.02    0.017665         327        54           madvise
3.98    0.010000         132        76           read
2-ой запуск либры (как правило, около 2-3с — пока сидит в кэше)
 $ strace -c libreoffice -writer
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
92.25    0.080000        3636        22         4 futex
  7.69    0.006667          93        72           read
  0.05    0.000045           0       149        57 open
И, как видно, большую часть времени отнимает вызов futex. Общее время проверил командой $ strace -r -e trace=futex libreoffice -writer — так оно и оказалось около 16-18с (из 20с).
Дальше не анализировал — мне нет смысла. 20с при первом запуске меня устраивает. Одно но — при большой нагрузке на память либра вытесняется из кэша и следующий запуск опять будет долгий — вот здесь и можно для ускорения попробовать сервис nscd, но сам никогда его не пробовал.
UPD....... полезно посмотреть в выводе $ strace -c libreoffice -writer и на количество errors
Ошибки не исчезают с опытом - они просто умнеют
vasek
20с при первом запуске меня устраивает.
Все равно долго. У мну первый запуск - 4-5 сек. Никаких оптимизаций, не SSD.
Aivar
Все равно долго. У мну первый запуск - 4-5 сек. Никаких оптимизаций, не SSD.
Это зависит от многих факторов, например, у меня ext3 + Gnome и др....
Да и системный вызов futex при первом запуске возвращает несколько ошибок ETIMEDOUT — а это происходит в случае истечения срока таймера ….... и ничего тут не сделаешь, а проводить полный анализ «на почему так» — мне не осилить, да думаю, что это и бесполезно............
Ошибки не исчезают с опытом - они просто умнеют
vasek
у меня ext3
А вот это зря. Сравнивал. Ext4 заметно быстрее, и дефрагментация имеется, хотя еще ни разу не пользовал.
add. В ext4 aria2c --file-allocation=falloc выделяет место на диске мгновенно.

ЗЫ. Сори за офтоп.
52th
Я сталкиваюсь с долгим запуском либры только при отсутствии подключения к сети
Аналогично...

wau
strace -t libreoffice -writer
Очень большой выхлоп, но вот небольшой кусок:

13:41:08 recvmsg(3, 0x7fff8a6df5e0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
13:41:08 recvmsg(3, 0x7fff8a6df5d0, 0)  = -1 EAGAIN (Resource temporarily unavailable)
13:41:08 read(4, "50%\n", 255)          = 4
13:41:28 futex(0x1f4a6c4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 7, {1428662488, 457786000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)
13:41:28 futex(0x1f4a6f0, FUTEX_WAKE_PRIVATE, 1) = 0
что бы могло это значить...
futex(0x1f4a6c4, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 7, {1428662488, 457786000}, ffffffff) = -1 ETIMEDOUT (Connection timed out)

Ещё замечание:
если ДНС оставить только 8.8.8.8 проблема исчезает
Если поставить какой-то ДНС в пределах локальной сети (microsoft ad+dns) то проблема есть....
Как вообще сеть может влиять на работу сугубо локальный программы????
Заставил внука гуглить, конечно, за вознаграждение, но при условии, что что-то найдет.
И ведь нашел........проверил — время загрузки на холодную 9-10с, и это на ext3, (измерял секундомером, но так как раньше просто считал, то уже и засомневался, помогло ли это).
Смысл в том что либра пытается определить имя локального хоста и почему то не может. Советуют модифицировать файл hosts, как, там написано.
Интересно узнать, поможет ли это еще кому то, чтобы исключить мое неверие в эту приблуду..........
Ошибки не исчезают с опытом - они просто умнеют
Как на зло, и накануне обновился Гном, и Либра. Сегодня неоднократно отключал сеть и пробовал время запуска, стабильно 0,8с. ("быстрый запуск" не активировался, для чистоты даже ctl+alt+bksp делал, все равно 0,8), причем 99,47% этого времени - futex.
Но hosts на всякий случай поправил. Не перезагружался, разницы не отмечено, +\- 0,2с.
2). В "Параметрах" открываем вкладку Java и вней убираем чекбокс напротив строки Use Java runtime environment.

Так вот почему он у меня на Яву ругался
 
Зарегистрироваться или войдите чтобы оставить сообщение.