У меня есть два идентичных ноутбука с Linux (Core ™ i7-4810MQ с 32 ГБ ОЗУ), оба работают под управлением Ubuntu 16.04. Кажется, что выполнение любой команды на машине 2 занимает в 4-12 раз больше времени, чем на машине 1, в зависимости от активности. Это было замечено в конце прошлой недели при запуске некоторых простых gradle
сборок и с тех пор не изменилось.
Чтобы измерить, я запускал сборку C ++ в каждой системе. Я выбрал этот, потому что несколько месяцев назад я сделал программу на C ++ и построил ее на обеих системах. Их не измеряли, но тогда они занимали примерно столько же времени. Выполнение следующего в каждой системе сегодня:
make clean && time make -j8
Система 1 завершается следующим отчетом:
real 0m54.627s
user 5m54.188s
sys 0m23.008s
Система 2 занимает намного больше времени:
real 11m1.053s
user 65m59.512s
sys 4m10.404s
Поиск в Stack Exchange и Google приводит к многочисленным потокам по диагностике проблемы, но все они кажутся предположить, что есть процесс, замедляющий машину. top
, iostat
и gnome-system-monitor
и т. Д. Сообщают об идентичном использовании ресурсов на обеих машинах - ни один из них не занят чем-либо сложным, и у него много процессора, памяти , доступная пропускная способность и io.
Что в первую очередь следует проверить, когда система Linux явно неэффективна, но она? Разве это не ограничение возможностей оборудования?
Я не приму этот ответ, но вот урок, который я усвоил: если инструменты анализа не могут помочь, подумайте, что изменилось в системе за последнее время. Единственное изменение, которое мы внесли в Систему 2, которое также не было внесено в Систему 1 за последнюю неделю, - это запустить демон Gradle в Системе 2. Это должно было быть причиной проблемы, и так оно и было.