У меня есть небольшой EC2, работающий на AWS, и python скрипт, который временно сохраняет файл, заархивирует его, а затем удаляет (os.remove). Несмотря на то, что я удаляю эти tmp-файлы, у меня появляется сообщение No space left on device
:
Filesystem Size Used Avail Use% Mounted on
udev 480M 0 480M 0% /dev
tmpfs 99M 11M 88M 11% /run
/dev/xvda1 7.7G 7.7G 0 100% /
tmpfs 492M 0 492M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 492M 0 492M 0% /sys/fs/cgroup
/dev/loop2 18M 18M 0 100% /snap/amazon-ssm-agent/1566
/dev/loop1 18M 18M 0 100% /snap/amazon-ssm-agent/1480
/dev/loop0 94M 94M 0 100% /snap/core/8935
/dev/loop4 94M 94M 0 100% /snap/core/9066
tmpfs 99M 0 99M 0% /run/user/1000
Итак, я просто пытаюсь (здесь, на Reddit и на любом другом форуме) найти что-то связанное на os.remove()
относительно гриппа памяти sh (что, похоже, так), но не смог идентифицировать. Я действительно не знаю, связана ли проблема с файловой системой (также пробовал rm -rf /tmp/*
) или самой командой (я предполагал, что os.remove
удалит и освободит место). Это Linux, ОС Ubuntu, а сценарий python в основном выглядит так:
def flush_unnecessary_folders(path_item):
"""
:param path_item:
:return:
"""
try:
if os.path.isdir(path_item):
logging.info(">>>>>> Removing dir {}...".format(path_item))
shutil.rmtree(path_item)
if os.path.isfile(path_item):
logging.info(">>>>>> Removing file {}...".format(path_item))
os.remove(path_item)
except OSError as e:
logging.warning(">>>>>> Error: %s : %s" % (path_item, e.strerror))
Может ли кто-нибудь помочь?