海纳思青龙拉库提示fatal: Out of memory, malloc failed (tried to allocate 524288000 bytes) fata
海纳思青龙拉库提示fatal: Out of memory, malloc failed (tried to allocate 524288000 bytes) fata
可用的解决方案
运行东西比较多,导致物理内存经常处于饱和状态
1.打开终端,切换到root用户,输入:free -m查看内存状态
总计 已用 空闲 共享 缓冲/缓存 可用
内存: 931Mi 417Mi 25Mi 38Mi 489Mi 461Mi
交换: 0B 0B 0B
内存: 931Mi 417Mi 25Mi 38Mi 489Mi 461Mi
交换: 0B 0B 0B
Swap(交换)也就是虚拟内存为0
2.选择一个较大的分区,建立分区文件
dd if=/dev/zero of=/mnt/sdb1/swap bs=1024 count=1024000
记录了1024000+0 的读入
记录了1024000+0 的写出
1048576000字节(1.0 GB,1000 MiB)已复制,346.074 s,3.0 MB/s
该命令表示在/mnt/sdb1/
分区建立名为swap,大小为1G的虚拟内存文件
3.将swap文件设置为swap分区文件
chmod 600 /mnt/sdb1/swap //注意更改swap文件的权限
mkswap /mnt/sdb1/swap
正在设置交换空间版本 1,大小 = 1000 MiB (1048571904 个字节)
无标签, UUID=d4ed72dc-1889-4f3d-9b5c-a73dd34530f4
4.激活swap,启用分区交换文件
swapon /mnt/sdb1/swap
5.现在看下结果
free -m
总计 已用 空闲 共享 缓冲/缓存 可用
内存: 931 379 55 37 496 500
交换: 999 5 994
尝试看下问题是否解决
备用虚拟内存的设置部分就完成了,接下来讲一下卸载虚拟内存
1.首先停止swap分区
swapoff /mnt/sdb1/swap
free -m
2.其次删除掉swap文件即可 首先看一下磁盘大小
df -h
rm -rf /mnt/sdb1/swap
可以看出删除后多了1G的空间。