docker 運行容器時指定--sysctl參數來設置系統參數


指定--sysctl參數來設置系統參數,通過這些參數來調整系統性能,Docker通過一個 ValidateSysctl函數來限制 sysctl參數可以傳入的項,源碼如下:

// docker/opts/opts.go
func ValidateSysctl(val string) (string, error) {    
  validSysctlMap :
= map[string]bool{
  "kernel.msgmax": true,
  "kernel.msgmnb": true,
  "kernel.msgmni": true,   "kernel.sem": true,   "kernel.shmall": true,   "kernel.shmmax": true,
  "kernel.shmmni": true,
  "kernel.shm_rmid_forced": true, } validSysctlPrefixes := []string{ "net.", "fs.mqueue.", }

從源碼中可以看出Docker允許調整的包含前綴是kernel.xxx、net和fs.mqueue這三類,使用示例如下:

docker run --sysctl kernel.sem="800 640000 400 800" --sysctl fs.mqueue.msg_max=10000--sysctl kernel.shmmni=40960--sysctl kernel.msgmax=65536 \
--sysctl kernel.msgmnb=84000--sysctl kernel.shmall=2097152--sysctl kernel.shmmax=8405194752 ......

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM