Как устранить ошибку «диск переполнен» в Azure ML?

У меня возникла проблема: диск моего вычислительного экземпляра заполняется после выполнения на нем некоторого количества заданий ML. Я порылся в Интернете, но не смог найти много информации о том, как решить эту проблему. Когда диск заполняется, мой вычислительный экземпляр переходит в «непригодное для использования» состояние, и мне советуют удалить некоторые файлы, прежде чем я смогу перезагрузить экземпляр.

Проблема в том, что я понятия не имею, какие файлы удалять. Очевидно, что во время моих заданий ML создаются некоторые файлы, которые хранятся где-то на файловом диске, но я не знаю, что это за файлы и где они хранятся. Кроме того, файловый диск очень запутан и неинтуитивен:

Я удалил все задания, которые выполнялись на вычислительном экземпляре, из Azure ML Studio, думая, что это приведет к удалению всех файлов, созданных во время этих заданий. Но этого не произошло — задания были удалены, но вычислительный экземпляр по-прежнему непригоден для использования. Следующие ссылки предоставили некоторую информацию о проблеме, но ее недостаточно, чтобы понять, что делать.

https://learn.microsoft.com/en-us/azure/machine-learning/concept-compute-instance?view=azureml-api-2 (в самом низу)

https://stackoverflow.com/a/74511674/7302006 Это кажется актуальным, хотя в этом случае я все еще не знаю, что с этим делать. Я заметил, что размер файла подкачки в /mnt составляет 62 ГБ, что кажется проблематичным. У меня нет прав на его удаление.

https://www.reddit.com/r/azuredevops/comments/ypkdiu/help_to_solve_the_disk_full_error_when_running/ Хотя вопрос связан, нет полезной информации о том, как решить проблему «диск переполнен». Вычислительный экземпляр остается «непригодным для использования».

Если кто-нибудь что-нибудь понимает по этому поводу, я был бы безмерно благодарен и уверен, что это пригодится и будущим разработчикам Azure.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

На самом деле вам не следует отслеживать монтирование, поэтому не смотрите на /mnt (возможно, я ошибаюсь, но давайте предположим, что на данный момент это правда)

Я потерял несколько виртуальных машин в «непригодном» состоянии из-за отсутствия места на диске виртуальной машины, обычно это образы докеров или виртуальные среды, такие как conda, со всеми этими пакетами, зависимостями и различными версиями.

Итак, моя квитанция:

Посмотрите, каково ваше использование пространства на виртуальной машине, а не на монтировании:

df -h

взгляните на первую строку /dev/root и не беспокойтесь о других строках:

так в моем случае используется 60 гигов, чтобы посмотреть, что именно съедает место на этой ВМ:

du -hsx /* | sort -rh | head -n 10

окей, мне не нужно беспокоиться о /mnt, как мы и договорились, а также о /usr, а также о системных библиотеках и т. д. самое интересное /anaconda

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

du -hsx /anaconda/* | sort -rh | head -n 10

делая то же самое для следующей папки «envs», я вижу, кто является основным потребителем:

просто уничтожьте такой env через conda с помощью команды conda remove -n + в конце вы можете сделать rm -rf с этим каталогом, так что избавьтесь от него полностью. Если вам это не нужно для вашего эксперимента, конечно (как в моем случае).

Это не идеальный набор действий, но один раз в год/неделю/день вполне подойдет.

Чтобы очистить образ докера, лучше проверить его с помощью docker image list и удалить неиспользуемый, так как его сложнее отслеживать с помощью df/du.

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

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

Спасибо, это отличный ответ! Однако вопрос: безопасно ли удалять эти среды conda? Я не думаю, что использую их, поскольку определяю свою собственную среду для каждого задания, которое запускаю с помощью az ml cli, но я хочу убедиться. Пользовательская среда — это типичная зарегистрированная среда в студии Azure ML, поэтому она имеет базовый образ Docker и спецификацию файла Conda.

heradsinn 02.10.2023 21:52

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

heradsinn 02.10.2023 21:53

Я думаю, что безопасно удалять среды conda по умолчанию, предоставляемые Azure, вероятно, они создают их для пользователей, чтобы у них было более удобное взаимодействие с AML из коробки. старые вычислительные экземпляры имеют разные окружения conda по сравнению с недавно созданными. Поэтому я бы сказал, что если вы его не используете, то удалите его с помощью conda remove --name ENV_NAME --all, особенно если вы уже самостоятельно контролируете виртуальные окружения. Я думал, что это может повлиять на установку az cli, но на самом деле нет, его можно установить в систему вообще без conda.

Sysanin 03.10.2023 04:06

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