Image

База знаний → Медленная работа консоли Linux, поиск причины, используя strace

[Виртуальные сервера]
Дата публикации: 27.08.2026

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

Существуют и другие причины медленного отклика от консоли при выполнении базовых команд, например top, ping, iostat.

Чтобы определить точную причину задержки, воспользуемся командой strace.

1. Установка

apt install strace

2. Пример использования

2.1 Показать все

strace -r top -n 1

2.2 Суммировать итог

strace -r top -c 1

Так как вывод содержит слишком много информации, можно использовать более компактный вариант:

strace -r -e trace=connect,poll,openat,stat -o top_small.log top -n 1

3. Анализ вывода

0.000231 poll([{fd=3, events=POLLIN}], 1, 5000) = 0 (Timeout)
5.003045 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}])

Системный вызов poll с таймаутом в 5000 мс не получил ответа от DNS-сервера (8.8.8.8). Это заняло ровно 5 секунд.

5.005113 poll([{fd=3, events=POLLOUT}], 1, 0) = 1 ([{fd=3, revents=POLLOUT}])

Сразу после первого, top пытается снова сделать запрос, используя тот-же DNS-сервер и снова ждет 5 секунд.

4. Итог

Задержка при выполнении команды в 10 секунд, связана не с нагрузкой на сервер, а с долгим ожиданием ответа от DNS сервера, указанного в /etc/resolv.conf

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





Нет комментариев