Назад | Перейти на главную страницу

перезапуск службы apache2 приводит к появлению сообщения «Ошибка: на устройстве не осталось места»

Если я сделаю

me@server:/home/me# service apache2 restart

на моем LXC-VPS (узел-сервер не сильно загружен) я получаю

Error: No space left on device

df -h говорит мне, что места достаточно

/dev/loop1      394G     72G  303G   20% /
none            100K       0  100K    0% /dev
cgroup           12K       0   12K    0% /sys/fs/cgroup
tmpfs            63G       0   63G    0% /sys/fs/cgroup/cgmanager
tmpfs            63G       0   63G    0% /dev/shm
tmpfs            63G    903M   63G    2% /run
tmpfs           5,0M       0  5,0M    0% /run/lock
tmpfs            63G    9,0M   63G    1% /tmp
none             63G       0   63G    0% /run/shm

df -i говорит мне

Dateisystem      Inodes IBenutzt    IFrei IUse% Eingehängt auf
/dev/loop1     26214400  1947464 24266936    8% /
none           16488053       22 16488031    1% /dev
cgroup         16488053       16 16488037    1% /sys/fs/cgroup
tmpfs          16488053       17 16488036    1% /sys/fs/cgroup/cgmanager
tmpfs          16488053        1 16488052    1% /dev/shm
tmpfs          16488053      269 16487784    1% /run
tmpfs          16488053     1069 16486984    1% /run/lock
tmpfs          16488053      192 16487861    1% /tmp
none           16488053        1 16488052    1% /run/shm

Это результат ipcs

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages    

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x4f3f00ec 9928704    root       600        1000       3                       
0x640109b7 9961473    root       600        1200712    3                       
0x0004e7b0 9437186    root       666        20564      0                       

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     
0x002fa327 0          root       666        2         
0x00000000 9535489    www-data   600        1         
0x00000000 9568258    www-data   600        1         
0x7f9640a9 4096003    ftp_ase    644        3         
0x3780350e 4456452    ftp_sur    644        3         

Есть идеи, как избежать этой ошибки?

Вы можете видеть это, когда apache использует семафоры IPC, вероятно, из модуля apache.

Если произойдет сбой, он не очистит семафор, который остается постоянно назначенным системе, по крайней мере, до перезагрузки.

Бегать ipcs и вы, вероятно, увидите там много вещей, принадлежащих apache.

Вы можете использовать ipcrm команда, чтобы прояснить это.

Не уверен в ошибке, но кажется, что вы не используете пользователя root для перезапуска службы. Вы пробовали перезапустить apache2 с пользователем root? Какой результат?

Вероятно, у вас много маленьких файлов и закончились inodes (структуры, в которых хранятся метаданные файла). В этом случае вам необходимо удалить эти файлы, чтобы освободить место.

Проверить использование inode можно с помощью команды df -i.