ubuntu 设置虚拟内存 解决内存不足
数据库服务器程序在运行起来之后,系统内存不足。环境:RK3399内核:Linux 4.4系统:ubuntu 18.04在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁盘空间富余的目录下设置虚拟内存swap文件,用来缓解内存不足的问题。1、free -m 命令查看内存情况和swap分区大小
数据库服务器程序在运行起来之后,系统内存不足。
环境:RK3399
内核:Linux 4.4
系统:ubuntu 18.04
在系统监控中发现,当数据库服务程序启动后,占用了大量内存空间,导致系统的剩余的内存往往只有几十MB。
在ubuntu系统中,swap空间就是虚拟内存,所以考虑在磁盘空间富余的目录下设置虚拟内存swap文件,用来缓解内存不足的问题。
1、free -m 命令查看内存情况和swap分区大小
total used free shared buff/cache available
Mem: 3846 254 3296 4 295 3557
Swap: 0 0 0
可以看到swap空间目前为0。
2、创建一个swap文件
在创建swap文件前要考虑到,磁盘空间的大小,因为要确保要有空闲的存储空间,才能创建对应大小的swap文件。比如剩余空间大小只有2G,是不可能创建3G的swap文件的。
df -h 查看磁盘空间大小。
Filesystem Size Used Avail Use% Mounted on
/dev/root 7.4G 2.6G 4.4G 37% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 1.1M 1.9G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mmcblk2p7 63M 109K 60M 1% /oem
/dev/nvme0n1p1 234G 61M 222G 1% /data
/dev/mmcblk2p9 22G 4.3M 22G 1% /userdata
tmpfs 385M 28K 385M 1% /run/user/121
tmpfs 385M 0 385M 0% /run/user/1000
通过上面的信息可以看到,/data目录下还剩余200多G,那么就可以把swap文件生成在/data目录下。
sudo dd if=/dev/zero of=/data/swap bs=1M count=4096
bs是单位表示1Mbyte,count表示大小,成功提示如下提示信息。
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB, 4.0 GiB) copied, 14.8678 s, 289 MB/s
在data目录下,ls -lh查看:
3、设置并激活swap文件
通过mkswap命令设置swap文件sudo mkswap swap
sudo mkswap swap
mkswap: swap: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes) no label, UUID=e2d5d777-df5b-4851-9d14-334ed42dd136
激活swap文件
sudo swapon swapfile
swapon: /data/swap: insecure permissions 0644, 0600 suggested.
free -m查看swap空间大小。
可以看到swap一栏的大小已经不是0了,已经设置成功了。
4、修改/etc/fstab
上面的设置是临时生效的,为了保证机器重启或开关机后任然有效,需要修改/etc/fstab文件
sudo -s 切换到root文件,增加如下的一行。
5、删除swap分区
执行swapoff命令后,重新free -m查看,就可以看到swap分区为0了。
sudo swapoff /data/swap
sudo rm swap
删除swap文件,释放磁盘占用的磁盘空间。
更多推荐
所有评论(0)