Các bước giải quyết lỗi Apache Error: “semget: No space left on device”

Nếu apache không khởi động, hãy kiểm tra nhật ký lỗi bằng cpanel. Lỗi “Semget: No space left on device” cho thấy rằng máy chủ của bạn đã hết semaphores.

Để kiểm tra xem có bao nhiêu semaphores đang được sử dụng, hãy đăng nhập vào máy chủ của bạn với tư cách là root và chạy như sau:

ipcs –s

Bây giờ để hiển thị lại dịch vụ Apache, người ta phải xóa các semaphores.

Và để thực hiện lệnh sau:

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

Lệnh trên có thể không hoạt động với các máy chủ cũ. Trong trường hợp đó, bạ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

Nếu đây là sự cố phổ biến xảy ra, bạn có thể muốn tăng giới hạn semaphore trên máy chủ vps hosting 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:

# Để tăng giới hạn semaphore và kéo dài thời gian hoạt động của Apache:

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

Sau đó, người dùng có thể 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