linux 物理内存释放,swap释放

物理内存:
当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching,
因此很有必要手动清理系统缓存释放内存。
1.先执行sync,先把buffe中的数据先写入到硬盘中。
2.输入手动释放内存的命令
echo 3 > /proc/sys/vm/drop_caches
drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
然后我们可以执行 free -m,先观察到内存已经被释放

SAWP分区使用率
 原理:
控制swap使用的系统参数:swappiness
Swappiness:表示使用物理内存限度
Swappiness为0(100%-0=100%)表示物理内存使用到100%的时候使用swap空间(这种风险太高,因为swap分配空间本来就很小,容易触发OOM)
Swappiness为60(100%-60%=40%)表示物理内存使用到40%的时候使用swap空间,默认值是60,对应的配置文件是/proc/sys/vm/swappiness
如果swappiness设置太大(内存的速度会比磁盘快很多),这样子会加大系统io,同时造的成大量页的换进换出,严重影响系统的性能,
所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整。

如SAWP分区使用率过高:
1.使用TOP命令查看进程分析是什么进程占用内存使用率过高

解决思路
1.首先明白是什么导致的内存使用率过高,如果是应用进程使用率过高就联系开发由开发提供解决方案,可能是内存泄漏等
2.如应用进程使用率不高,那么需要释放swap分区,在释放swap分区之前必须必须要确保服务器物理内存剩余使用率高于目前swap分区已使用的内存量,
(如剩余物理内存还有10G,swap分区总共3G,已使用2G,那么释放swap分区后剩余物理内存可用值是8G)
3.释放swap分区操作命令
  (1)查看swap分区挂载的文件系统路径 swapon -s (默认都是/dev/dm-1)
  (2)关闭sqap分区 swapoff /dev/dm-1(该过程其实就是释放自身内存到物理内存,比较慢,释放2G大约要6分钟时间,期间可以另起一个窗口,执行top命令查看swap分区释放的进度值)
  (3) swapon -s 如果查询不到挂载点,表示已经全部释放到物理内存
  (4) swapon /dev/dm-1 重新把交换分区挂载上去,实际分配的总内存和释放前是一样的,已使用的内存清零
   (5)swapon -s查看是否挂载上去

或者可以用以下两个命令清除刷新swap

swapoff -a
swapon -a

这样swap就还原到初始状态

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux swap空间可以通过以下步骤释放: 1. 查看当前系统中的swap空间使用情况,可以使用命令:`free -m`。 2. 确认哪些进程占用了swap空间,可以使用命令:`sudo swapon -s`。 3. 如果发现某个进程占用了大量的swap空间,可以尝试重启该进程或者杀死该进程。 4. 如果swap空间占用过高,可以尝试增加物理内存或者调整swap空间大小。 5. 如果需要释放swap空间,可以使用命令:`sudo swapoff -a`,然后再使用命令:`sudo swapon -a`重新启用swap空间。 注意:释放swap空间可能会导致系统性能下降,建议在必要时才进行释放。 ### 回答2: Linux swap空间是一种虚拟内存技术,用于在物理内存不足时,将一部分不经常使用的内存数据转存到硬盘上,以此来释放物理内存空间。当系统需要使用被转存的数据时,再将其从硬盘重新调入内存。 在一般情况下,当系统物理内存不足时,Linux会将一部分内存数据转存到swap分区中。但是,如果系统内存使用情况不再紧张时,这些被转存的数据就可以被删除,以释放硬盘空间。 可以用以下步骤释放swap空间: 1.查看swap空间使用情况: 用命令 "free -m" 可以查看系统内存和swap空间的使用情况。其中,Swap列显示的就是swap空间的使用情况。 2.释放swap空间: 可以用命令 "sudo swapoff -a" 关闭swap分区,以停止数据转存。然后,用命令 "sudo swapon -a" 重新打开swap分区,重新启用数据转存功能。这样就可以释放swap空间了。 3.自动释放swap空间: 为了避免swap空间过度占用硬盘空间,可以通过调整系统内核参数来实现自动释放swap空间的功能。在linux系统中,可以修改 "vm.swappiness" 的值,将其设为0,以便于在系统物理内存不足时,尽可能地使用物理内存,而不是swap分区。同时,还可以调整 "vfs_cache_pressure" 的值,以提高内存数据缓存的优先级,从而释放swap空间。 总之,为了充分利用物理内存,合理使用swap空间,可以对系统内核参数进行调整,或者定时地手动释放swap空间,从而提高系统性能。 ### 回答3: 在Linux中,Swap是一种虚拟内存,用于缓解内存不足的情况。当物理内存不足以支持当前进程需要时,Linux就会将一些内存页面(RAM)移动到交换空间(swap)中。由于硬盘速度比物理内存慢得多,因此使用Swap时会导致系统运行缓慢。因此,当我们不再需要Swap时,我们需要手动清除Swap空间以释放它,以加快系统的速度。以下是如何释放Linux Swap空间的步骤: 1. 检查系统中哪些Swap分区正在使用: swapon -s 2. 禁用所有的Swap分区: swapoff -a 3. 清除已禁用的Swap分区: swapon -a 执行上面的命令之后,将会清除所有已禁用的Swap分区,释放Swap空间。在清除Swap空间后,我们还需要进行一些其他操作,以确保Swap空间得到了正确配置: 1. 打开 /etc/fstab 文件并查看其中是否有Swap适配器配置。如果有,需要注释掉: sudo nano /etc/fstab 2. 如果系统使用了swap文件而不是swap分区,则需要执行以下命令删除该文件: sudo rm /swapfile 3. 如果以后需要重新启用Swap,则需要在/etc/fstab文件中重新配置Swap分区。我们可以使用fdisk或parted命令来创建新的Swap分区,或在系统中创建一个新的Swap文件。创建新的Swap分区或文件后,需要使用mkswap命令进行格式化,并将其添加到/etc/fstab文件中。 总结: 释放Linux Swap空间可以提高系统的性能。要释放Swap空间,我们可以使用swapoff命令来禁用所有的Swap分区,然后使用swapon命令来清除Swap空间。但是,在执行此操作之前,请确保你的系统确实不需要使用Swap空间,否则可能会影响系统的正常运行。所以在如何释放Swap空间之前,请检查Swap使用情况,如果系统中的进程需要Swap空间,则不应该关闭它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值