Переход в каталог проекта замедляет работу терминала в Ubuntu

Я сталкиваюсь с проблемой неэффективности на терминале. У меня есть каталог проекта ruby ​​on rails размером около 230 МБ. Всякий раз, когда я выполняю какие-либо команды в этом каталоге, такие как cd и т. Д., Терминал зависает около 5 минут, а затем отвечает. У меня есть эта проблема на Ubuntu, работающем на виртуальной рабочей станции VMware.

1 ответ

Этот вопрос не совсем понятен. Проблема, скорее всего, заключается не в "терминале" как таковом, а в вашей виртуальной машине, оборудовании, на котором работает хост виртуальной машины, диске, к которому он обращается, и / или вашей личности.

Ваш Ubuntu - это устройство на виртуальной машине. Вы входите удаленно на виртуальную машину Ubuntu? Какая ОС это виртуальная машина? Насколько мощное оборудование? Если ваша виртуальная машина - это компьютер Windoze, у нас есть подозреваемый. Где диск с рубиновым материалом. Как это разделено, установлено и т. Д.

Если в этой настройке вы используете только один компьютер, а все диски локальные, и ни один из них не смонтирован с помощью кроссплатформенной адаптации (ext4 предлагается через cifs для хоста Windows, а затем предлагается обратно на Ubuntu VM как общий ресурс samba), тогда мы будем знать, где искать. В сеансе Ubuntu vm создайте новый каталог в папке ~/home и заполните его несколькими 100 МБ дерьма. Если это медленно, как ваш рубиновый диск, это будет означать, что ваш виртуальный хост не работает хорошо.

Из вашей сессии Ubuntu мы можем увидеть вывод "df" в терминале? Выясните, где находится каталог ruby ​​в этом выводе. Этого может быть достаточно для нас, чтобы угадать.

Можете ли вы подключиться к оборудованию хоста виртуальной машины непосредственно в его собственной ОС для взаимодействия с каталогом проблем? Имеет ли он медленное взаимодействие с данным разделом?

У стены я могу назвать два контекста, в которых мы видели замедления, как вы описали.

1). Ваша идентификация пользователя происходит с сервера доменных имен. Виртуальная машина или ваша ОС запрашивают у вашего пользователя разрешение на использование устройства снова и снова, а не кэшируют ответы. Может потребоваться включить nscd или аналогичное кэширование пользовательских идентификаторов.

2) Ваш жесткий диск, содержащий веб-код, не является локальным для виртуальной машины, и между ними есть некоторые программные или аппаратные проблемы.

Мы видим эти сумасшедшие настройки. Существует веб-сервер Linux, который обращается к большому устройству хранения через NFS. Каталог этого веб-сервера предлагается хосту Windows VM в качестве общего ресурса samba, и хост монтирует хранилище. Затем ваш клиент Ubuntu видит этот общий ресурс Windows, смонтированный в виртуальной машине, и говорит: "А, я буду использовать этот общий ресурс Windows". Таким образом, хост VM переводит один и тот же материал назад и вперед снова и снова. Вам было бы гораздо лучше смонтировать общий доступ к веб-файлам непосредственно в Ubuntu, а не включать хост вообще.

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

Удачи, я думаю, что вы не получите хорошего решения, пока не определите отдельные аспекты проблемы и не исключите их по одному.

Другие вопросы по тегам