Очень медленная аутентификация (и с ssh и с su)

Выбрать слова по крайней мере 4 символов нашло по крайней мере 5 раз и не нашло в/usr/share/dict/words в файлах PDF в текущем каталоге.

 find . -name '*.pdf' -exec pdftotext {} - \; |
   tr -cs '[:alpha:]' '[\n*]' |
   tr '[:upper:]' '[:lower:]' |
   grep -E '.{4}' |
   sort |
   uniq -c |
   awk '$1 > 4 {print $2}' |
   comm -23 - <(tr '[:upper:]' '[:lower:]' < /usr/share/dict/words|sort -u)

Вам нужна оболочка с поддержкой замены процесса (ksh, zsh или bash).

Если Вы собираетесь использовать perl так или иначе можно также выполнить во всем этом perl:

find . -name '*.pdf' -exec pdftotext {} - \; |
  perl '-Mopen ":locale"' -nle '
     s/^\S+//;s/\S+$//;y/ \t/ /s;
     next unless length > 40;
     $w{lc$_}++ for /[[:alpha:]]{4,}/g;
     END{open W,"</usr/share/dict/words";
     while(<W>){chomp;delete $w{lc$_}};
     print for grep {$w{$_}>4} keys %w}'
5
21.08.2014, 00:46
4 ответа

В качестве общего способа изучения медленной аутентификации проверьте /etc/pam.conf и /etc/pam.d/su/etc/pam.d/sshd и т.д.), чтобы посмотреть, какого рода аутентификацию выполняют службы входа в систему. Проверьте системные журналы, чтобы убедиться, что что-то записано в журнал (посмотрите записи журнала, датированные моментом аутентификации).

В вашем случае, именно журналы ядра раскрывают проблему. Сообщения "Сбой при выделении страницы" указывают на то, что ваша система вышла из виртуальной памяти. Либо убейте некоторые программы, либо увеличьте пространство подкачки.

0
27.01.2020, 20:43

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

пользовательская настройка оболочки может делать множество творческих вещей , которые могут привести к ужасным сбоям при некоторых особых условиях -
как при входе в систему перед фактическим переходом в интерактивный режим,
или пока 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
27.01.2020, 20:43

Убедитесь, что ваш SElinux находится в принудительном режиме.

если статус показывает, что текущий режим - принудительный режим Отключите его с помощью " setenforce 0 "

{{1} }
-3
27.01.2020, 20:43

Нашел проблему (спасибо этому посту https://stackoverflow.com/questions/8413975/10-second-delay-between-login-and-shell-prompt)

Проблема в файле /etc/profile.d/zzz-vamilocale.sh, который пытается прочитать что-то из свойств vm и застревает на этом. удаление этого файла решает проблему.

Мой способ отладки этой проблемы: 1. войти в систему как проблемный пользователь 2. вызвать "bash --login --verbose" 3. Найдите строку, которая останавливает выполнение. 4. Найдите эту строку в одном файле из /etc/profile.d/

3
27.01.2020, 20:43

Теги

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