Lỗi không còn chỗ trống trên thiết bị của apache này sẽ dễ khắc phục, nhưng lưu ý rằng bài đăng này giả định rằng bạn đang chạy Apache trên máy chủ Linux, biết sử dụng các dòng lệnh và có quyền truy cập root vào máy chủ.
Bắt đầu:
Nếu Apache lỗi và sẽ không bắt đầu lại thành công, hãy kiểm tra error log. Nếu bạn thấy một lỗi tương tự như sau, nó có thể chỉ ra rằng máy chủ của bạn đã hết semaphores.
semget: No space left on device
Để xem có bao nhiêu semaphores đang được sử dụng, SSH đến server của bạn dưới dạng root và chạy như sau:
ipcs -s
Để bắt đầu lại Apache, chúng ta phải xóa các semaphores. Chạy for-loop
for whatever in `ipcs -s | awk ‘{print $2}’`; do ipcrm -s $whatever; done
Nếu lệnh bên trên không hoạt động. Trong những trường hợp này, bạn có thể cần phải làm như sau:
/sbin/service httpd stop
ipcs -s | grep nobody | gawk ‘{ print $2 }’ | xargs -n 1 ipcrm sem
/sbin/service httpd start
Tiếp theo bạn cần tăng giới hạn semaphore trên máy chủ của mình. Bạn có thể làm điều đó bằng cách thêm phần sau vào tệp /etc/sysctl.conf:
# Increases the semaphore limits & extend Apache’s uptime.
kernel.msgmni = 512
kernel.sem = 250 128000 32 512
Sau đó tải các cài đặt mới vào kernel:
sysctl -p
Ok vậy là đã xong, chúc các bạn thành công.
Leave a Reply