Cách xử lý không tốt :/proc
là hệ thống tệp chỉ đọc để sửa đổi nó, bạn có thể chạy Docker ở chế độ đặc quyền hơn là bạn có thể sửa đổi nó sau khi vùng chứa được khởi động.
Nếu chạy vùng chứa ở chế độ đặc quyền, bạn có thể tắt THP bằng các lệnh sau:
# echo never > /sys/kernel/mm/transparent_hugepage/enabled
# echo never > /sys/kernel/mm/transparent_hugepage/defrag
Cách thích hợp :Đảm bảo rằng bạn chạy các phiên bản Docker mới hơn (nâng cấp nếu cần). run
lệnh con có tùy chọn --sysctl:
$ docker run -ti --sysctl net.core.somaxconn=4096 --rm redis:alpine /bin/sh
[email protected]:/# sysctl net.core.somaxconn
net.core.somaxconn = 4096
...
Thật không may :vm.overcommit_memory
hiện không được phép đặt qua --sysctl
paramter cũng áp dụng tương tự cho THP (transparent_hugepage), điều này là do chúng không có vùng chứa tên. Do đó, để khắc phục những cảnh báo này trong vùng chứa đang chạy trên Máy chủ Linux, bạn có thể thay đổi chúng trực tiếp trên máy chủ lưu trữ. Đây là các Vấn đề liên quan:
- # 19
- # 55
Bạn không cần chế độ đặc quyền cho cách thích hợp cách tiếp cận.