cpu memory limit - daniel-qa/Laradock GitHub Wiki
cpu memory limit
docker inspect laradock_mysql_1 | grep -E 'Memory|CpuShares'
"CpuShares": 0,
"Memory": 0,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
0 代表無預設值(無限制)
- 關於預設值
Docker Compose 本身沒有提供默認的 CPU 和內存限制,而是將其交給 Docker 引擎來處理。
因此,如果在 Laradock 的 docker-compose.yml 文件中沒有明確指定 cpus 和 mem_limit,則會使用 Docker 的默認值。
docker 引擎的 cpu,memory 預設值
- 使用以下命令查看 Docker 配置資訊:
docker info
在輸出中,你會看到一些有關 Docker 引擎的資訊,包括 CPU 和內存的默認值。
要查看單個容器的 CPU 和內存限制,可以使用以下命令:
docker inspect --format='{{.HostConfig.CPUShares}}' container_id
使用 docker inpsect ,找到 Cpu 和 memory 的設定
"HostConfig": {
"CpuShares": 0,
"Memory": 0,
// 其他配置...
},
設定為 0,代表沒有限制
docker inspect laradock_nginx_1 | grep CpuShares
"CpuShares": 0,
docker inspect laradock_nginx_1 | grep Memory
"Memory": 0,
"KernelMemory": 0,
"KernelMemoryTCP": 0,
"MemoryReservation": 0,
"MemorySwap": 0,
"MemorySwappiness": null,
docker inspect CONTAINER_ID_OR_NAME | grep -E 'Memory|CpuShares'
deploy:
resources:
limits:
cpus: "0.50"
memory: "150M"
services:
php-fpm:
image: laradock/php-fpm:latest
container_name: my-php-fpm
cpus: "0.5"
mem_limit: "512M"
PHP Memory 限制
- php.ini
進入容器後,你可以使用以下命令找到 php.ini 文件的位置:
php --ini
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 128M
/usr/local/etc/php/php.ini
找到 php.ini 後
使用 grep "memory" php.ini
取得 memory limit
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 256M