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