今天阿里云1C0.5G装zabbix又装mysql发现内存不够了,增加swap虚拟内存

查看mysql的日志

cat /var/log/mysqld.log

发现有错误

mmap(137428992 bytes) failed; errno 12

系统日志里有,进程被杀掉了。

今天阿里云1C0.5G装zabbix又装mysql发现内存不够了,增加swap虚拟内存

 

 随增加虚拟内存:一般是内存的两倍  

原文:

https://www.cnblogs.com/zdz8207/p/linux-centos-swap.html

dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile

free -m查看swap已经增加了,但这只是临时性的,如果机器重启会失效
vi /etc/fstab
最后一行添加
/swapfile swap swap defaults 0 0

 

linux centos 如何设置swap大小?

swap的值都是安装系统的时候设置好的,一般设置为内存的两倍大小。使用过程中发现swap值过小只能添加。
用free -m 命令查看当前swap大小

使用下面的命令创建2G的空间
dd if=/dev/zero of=/var/swap bs=1024 count=2048000
if 表示infile,of表示outfile,bs=1024代表增加的模块大小,count=2048000代表2048000个模块,也就是2G空间
将目的文件设置为swap分区文件
mkswap /var/swap
激活swap,立即启用交换分区文件
mkswap -f /var/swap
free -m查看swap已经增加了,但这只是临时性的,如果机器重启会失效
vi /etc/fstab
最后一行添加
/var/swap swap swap defaults 0 0
重启或free -m测试 swap添加成功

下面是实战命令:
[root@JD ~]# free -m
total used free shared buff/cache available
Mem: 3789 130 3401 8 258 3432
Swap: 0 0 0
[root@JD ~]# dd if=/dev/zero of=/var/swap bs=1024 count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 19.4374 s, 108 MB/s
[root@JD ~]# mkswap /var/swap
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=a23c9dd9-87af-4517-8d70-bff7c714c18f
[root@JD ~]# swapon /var/swap
swapon: /var/swap: insecure permissions 0644, 0600 suggested.
[root@JD ~]# cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 2047996 0 -2
[root@JD ~]# vim /etc/fstab
-bash: vim: command not found
让上面命令在重启后仍然生效需要以下操作:
[root@JD ~]# vi /etc/fstab
最后一行添加
/var/swap swap swap defaults 0 0
再查看内存,已经设置了swap了,执行上面命令导致buff/cache里面多了不少内存,过段时间会减少,或者直接重启可以清掉
[root@JD ~]# free -m
total used free shared buff/cache available
Mem: 3789 154 1286 8 2348 3379
Swap: 1999 0 1999
reboot重启后再查看结果如下:
[root@JD ~]# free -m
total used free shared buff/cache available
Mem: 3789 146 3411 8 232 3414
Swap: 1999 0 1999

如果不再需要swap,可以清理该分区:
[root@mysql01 var]# swapoff /var/swap

==============

下面是实战命令:
[root@host ~]# free -m
total used free shared buff/cache available
Mem: 1006 381 190 42 434 427
Swap: 259 94 165
[root@host ~]# dd if=/dev/zero of=/var/swap bs=1024 count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 8.71197 s, 241 MB/s
[root@host ~]# mkswap /var/swap
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=941931fe-683b-4082-a6db-82bb741f77e5
[root@host ~]# mkswap -f /var/swap
mkswap: /var/swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 2047996 KiB
no label, UUID=17a9a21e-67d2-4343-b95d-d8958814c334
[root@host ~]# swapon /var/swap
swapon: /var/swap: insecure permissions 0644, 0600 suggested.
[root@host ~]# free -m
total used free shared buff/cache available
Mem: 1006 388 65 42 552 417
Swap: 2259 94 2165
[root@host ~]# cat /proc/swaps
Filename Type Size Used Priority
/swap file 266236 96512 -2
/var/swap file 2047996 0 -3
[root@host ~]# vi /etc/fstab
最后一行添加
/var/swap swap swap defaults 0 0


如果不再需要swap,可以清理该分区:
[root@mysql01 var]# swapoff /var/swap

上一篇:linux计划任务不执行


下一篇:Luogu P3806 点分治模板1