linux 没装swap分区怎么办

linux 没装swap分区怎么办,第1张

运行某大型的软件,如果没有足够的内存,解决的办法是在硬盘上划出一个区域来当作临时的内存。

Windows *** 作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap分区,增加swap交换分区,方法:

1、以root权限,键入如下命令创建512M的swap文件(1024 * 512MB = 524288)

2、创建Linux交换文件 

mkswap /swapfile1

3、立即激活 /swapfile1交换文件

swapon /swapfile1

4、设置系统自激活交换文件。编辑 /etc/fstab文件,并增加如下第二行代码。

vi /etc/fstab 

/swapfile1 swap swap defaults 0 0

5、重启系统,使用free -m查看swap大小。

运行某大型的软件,如果没有足够的内存,解决的办法是在硬盘上划出一个区域来当作临时的内存。

Windows *** 作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap分区,增加swap交换分区,方法:

1、以root权限,键入如下命令创建512M的swap文件(1024 * 512MB = 524288)

dd if=/dev/zero of=/swapfile1 bs=1024 count=524288

2、创建Linux交换文件

mkswap /swapfile1

3、立即激活 /swapfile1交换文件

swapon /swapfile1

4、设置系统自激活交换文件。编辑 /etc/fstab文件,并增加如下第二行代码。

vi /etc/fstab 

/swapfile1 swap swap defaults 0 0

5、重启系统,使用free -m查看swap大小。

#vi /etc/fstab

UUID=b45eed4a-b319-43fa-9d03-200c558b5d84 /                       ext4    defaults        1 1

UUID=0ab45aeb-98f7-4f31-863d-791f7947d8f7 /boot                   ext4    defaults        1 2

/dev/sdb5               swap                    swap    defaults        0 0 

UUID=bddbfd46-378f-4583-930f-554f9c6f4ab6 swap                    swap    defaults        0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

要让进程释放swap的方法只有kill掉该进程了。写个脚本来查看具体是哪些进程占着内存啦。

一、对/proc目录下所有以数字为名的目录进行遍历

二、1目录是根进程重启会导致系统重启,所以直接排除掉。

三、算出每个进程占用内存的大小,然后按照大小排序

四、输出内存占用大于1MB的进程

4、将运行结果保存到swap.log文件中

5、查看swap.log.10325这个进程内存占用最多有130几M。

6、直接kill掉,然后再top查看。ok,swap一下子释放了很多,搞定。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7364720.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-04
下一篇2023-04-04

发表评论

登录后才能评论

评论列表(0条)

    保存