перезапуск службы 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         

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

3
задан 23 November 2015 в 12:37
3 ответа

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

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

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

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

3
ответ дан 3 December 2019 в 06:30

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

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

0
ответ дан 3 December 2019 в 06:30

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

0
ответ дан 3 December 2019 в 06:30

Теги

Похожие вопросы