Memory 如何增加boot2docker虚拟机中可用的交换空间?

Memory 如何增加boot2docker虚拟机中可用的交换空间?,memory,docker,boot2docker,Memory,Docker,Boot2docker,我想在没有太多RAM的机器上运行需要大量内存的docker容器。我一直试图增加容器的可用交换空间,但没有效果。以下是我尝试的最后一个命令: docker run -d -m 1000M --memory-swap=10000M --name=my_container my_image 根据这些关于如何检查内存指标的内容,我发现了以下内容: $ boot2docker ssh docker@boot2docker:~$ cat /sys/fs/cgroup/memory/docker/35af

我想在没有太多RAM的机器上运行需要大量内存的docker容器。我一直试图增加容器的可用交换空间,但没有效果。以下是我尝试的最后一个命令:

docker run -d -m 1000M --memory-swap=10000M --name=my_container my_image
根据这些关于如何检查内存指标的内容,我发现了以下内容:

$ boot2docker ssh

docker@boot2docker:~$ cat /sys/fs/cgroup/memory/docker/35af5a072751c7af80ce7a255a01ab3c14b3ee0e3f15341f7bb22a777091c67b/memory.stat
cache 454656
rss 65015808
rss_huge 29360128
mapped_file 208896
writeback 0
swap 0
pgpgin 31532
pgpgout 22702
pgfault 49372
pgmajfault 0
inactive_anon 28672
active_anon 65183744
inactive_file 241664
active_file 16384
unevictable 0
hierarchical_memory_limit 1048576000
hierarchical_memsw_limit 10485760000
total_cache 454656
total_rss 65015808
total_rss_huge 29360128
total_mapped_file 208896
total_writeback 0
total_swap 0
total_pgpgin 31532
total_pgpgout 22702
total_pgfault 49372
total_pgmajfault 0
total_inactive_anon 28672
total_active_anon 65183744
total_inactive_file 241664
total_active_file 16384
total_unevictable 0
是否可以在只有4G物理内存的机器上运行需要5G内存的容器?

这对于了解如何增加boot2docker vm中可用的交换空间非常有用。根据我的情况,我使用以下命令ssh到boot2docker vm并设置一个新的交换文件:

boot2docker ssh
export SWAPFILE=/mnt/sda1/swapfile
sudo dd if=/dev/zero of=$SWAPFILE bs=1024 count=4194304
sudo mkswap $SWAPFILE
sudo chmod 600 $SWAPFILE
sudo swapon $SWAPFILE
exit

你不需要在交换被使用之前耗尽RAM吗。。。除非系统配置了swapiness,否则我需要编写一个快速测试,以明确内存不足。我想我需要增加boot2docker vm中的交换空间。对任何感兴趣的人来说:要使swapfile安装在每台
docker机器上
启动,您需要用ssh将
swapon/mnt/sda1/swapfile
附加到
/var/lib/boot2docker/bootsync.sh
(或
/var/lib/boot2docker/bootlocal.sh
)。如果缺少所需的
*.sh
文件(很可能是这样),请创建该文件。(tl;dr:在docker机器启动之间,修改fstab不会持久化)