Hướng dẫn xử lý lỗi khi start apache No space left on device

08/06/2020 801

Hướng dẫn xử lý lỗi khi start apache No space left on device: AH02478: failed to create proxy mutex AH00016: Configuration Failed

Kiểm tra lỗi apache

tail /var/log/httpd/error_log

Màn hình Output:

[Mon Jun 08 09:42:02.000933 2020] [proxy:crit] [pid 2699:tid 139924406892480] (28)No space left on device: AH02478:
failed to create proxy mutex AH00016: Configuration Failed
[Mon Jun 08 09:42:08.000937 2020] [core:emerg] [pid 2733:tid 139790144702400] (28)No space left on device: AH00023:
Couldn't create the proxy mutex
[Mon Jun 08 09:42:08.001047 2020] [proxy:crit] [pid 2733:tid 139790144702400] (28)No space left on device: AH02478:
failed to create proxy mutex

Nếu bạn thấy lỗi tương tự như dưới đây, có thể  máy chủ của bạn đã hết semaphores. Để xem có bao nhiêu semaphores đang được sử dụng, gõ lệnh sau

ipcs -s

Màn hình Output:

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root       600        1
0x00000000 32769      root       600        1
0x00000000 163842     apache     600        1
0x00000000 98307      apache     600        1
0x00000000 196612     apache     600        1
0x00000000 229381     apache     600        1
0x00000000 262150     apache     600        1
0x00000000 294919     apache     600        1
0x00000000 327688     apache     600        1
0x00000000 360457     apache     600        1

Để sửa lỗi và khởi động lại máy chủ Apache, chúng ta phải xóa các semaphores

for whatever in `ipcs -s | awk '{print $2}'`; do ipcrm -s $whatever; done

Nếu lệnh đó có thể không hoạt động, bạn có thể thử thao tác như sau

/etc/init.d/httpd stop
ipcs -s | grep nobody | gawk '{ print $2 }' | xargs -n 1 ipcrm sem
/etc/init.d/httpd start

Bạn có thể tăng giới hạn semaphore trên máy chủ của mình bằng cách thêm phần sau vào /etc/sysctl.conf

kernel.msgmni = 512
kernel.sem = 250 128000 32 512

Sau đó, gõ lệnh sau để cập nhật cài đặt mới cho kernel

sysctl -p

Chúc các bạn thành công