项目无缘无故被kill 掉真的是崩溃啊,有的时候查看是运行空间不足
从别的文章上看到是这个问题,说使用swap 可以解决这个问题
问题:linux系统内存分配问题,一般购买的云服务器默认是没有分配swap空间大小的。
swap space 是磁盘上的一块区域,可以是一个分区,也可以是一个文件。所以具体的实现可以是 swap 分区也可以是 swap 文件。当系统物理内存吃紧时,Linux 会将内存中不常访问的数据保存到 swap 上,这样系统就有更多的物理内存为各个进程服务,而当系统需要访问 swap 上存储的内容时,再将 swap 上的数据加载到内存中,这就是常说的换出和换入。交换空间可以在一定程度上缓解内存不足的情况,但是它需要读写磁盘数据,所以性能不是很高。
现在的机器一般都不太缺内存,如果系统默认还是使用了 swap 是不是会拖累系统的性能?理论上是的,但实际上可能性并不是很大。并且内核提供了一个叫做 swappiness 的参数,用于配置需要将内存中不常用的数据移到 swap 中去的紧迫程度。这个参数的取值范围是 0~100,0 告诉内核尽可能的不要将内存数据移到 swap 中,也即只有在迫不得已的情况下才这么做,而 100 告诉内核只要有可能,尽量的将内存中不常访问的数据移到 swap 中。在 ubuntu 系统中,swappiness 的默认值是 60。如果我们觉着内存充足,可以在 /etc/sysctl.conf 文件中设置 swappiness:
vm.swappiness=10 第一步:查看 free -m
结果是Swap 是没有的,没交换空间,接下来要创建交换空间
第二步:创建分区 /home/swap这么一个分区文件。文件大小是512000个block,一般情况下1个block为1k,所以这里空间是512M,这个空间大小自己随意定义。
dd if=/dev/zero of=/home/swap bs=1024 count=512000
第三步:将这个分区变成swap分区。
/sbin/mkswap /home/swap
第四步:使用swap分区,使其生效。
/sbin/swapon /home/swap
第五步:查看swap分区大小。
free -m
备注:系统重启后swap分区会还原,解决办法:修改/etc/fstab文件,增加一行
/home/swap swap swap defaults 0 0