Как я могу сказать, почему процесс ожидает?

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

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

В этом случае мы ищем блокирующие действия и тайм-аут или выполняющие медленные действия -
как автоматическое монтирование в мультяшном стиле все домашние каталоги,
всех нынешних и бывших сотрудников.
Конечно, кроме вашего .
Это уже было смонтировано.

Плохо звучит?
Нет. Его легко найти, и для большинства это смешно.

Время после входа в систему, до показа оболочки, используется любыми задачами обслуживания, это замедлит ее. Но задачи технического обслуживания выполняются только время от времени. И, конечно же, они не запускаются сразу все вместе, как каждую неделю при первом входе в систему после понедельника 8:00 - потому что это было бы медленно, верно?

Происходит много неожиданных вещей

Проиллюстрированный момент: что после входа в систему может произойти многое, до того, как будет показана оболочка.

Один класс проблем, которые, как я заметил, замедляются при входе в систему в Ubuntu, - это генерация сообщения дня - motd.

Это текст, отображаемый перед первым приглашением оболочки при входе в систему.
Оно может быть пустым или просто приветствием.

Взгляните на ls -l /etc/update-motd.d

$ ls -l /etc/update-motd.d
total 28
-rwxr-xr-x 1 root root 1220 Jul  3  2012 00-header
-rwxr-xr-x 1 root root 1358 Jul  3  2012 10-help-text
-rwxr-xr-x 1 root root  149 Mar 19  2012 90-updates-available
-rwxr-xr-x 1 root root  147 Aug  8  2012 91-release-upgrade
-rwxr-xr-x 1 root root  142 Mar 19  2012 98-fsck-at-reboot
-rwxr-xr-x 1 root root  144 Mar 19  2012 98-reboot-required
-rwxr-xr-x 1 root root 1158 Jul  3  2012 99-footer

Особенно 90-updates-available в этом примере время от времени кажется очень медленным, поэтому проверьте, что вы там найдете, и, возможно, отключите некоторые из них для тестирования, переместив их в /etc/update-motd.d.disabled .

1
03.07.2014, 19:36
1 ответ

Запустите dtruss и посмотрите, что делает системный вызов процесса:

dtruss -p55761

Это подскажет вам, какой системный вызов процесса с PID 55761 в данный момент задействован. Если этот системный вызов получит доступ к какому-либо файловому дескриптору, то lsof скажет вам, какой файл там открыт.

lsof -p55761

Если файл является трубой или сокетом, я не знаю, как найти, что если что-то находится на другой стороне.

1
27.01.2020, 23:52

Теги

Похожие вопросы