给梦想一点时间,让它一步步成长 给梦想一点时间,让它一步步成长

有事做、有人爱、有所期待

目录
云服务器内存不够解决办法
/  

云服务器内存不够解决办法

今天发现之前买的阿里云的服务器发现2G内存只有0.2可以用了,大致解决办法如下:

方法一

首先:free -m 命里查看内存使用情况

  • total——总物理内存 ,total=used+free
  • used——已使用内存,一般情况这个值会比较大,因为这个值包括了cached+应用程序使用的内存
  • free——完全未被使用的内存
  • shared——应用程序共享内存
  • buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)
  • cached——缓存,用于已打开的文件
  • available——free 与 available 的区别 free 是真正尚未被使用的物理内存数量。 available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)

接着输入下面的对应指令清除对应的对象

echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。
echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。

当你这时候输入free -m你会发现有些东西被清除了。再去控制台我的内存只占用了1G,还有1G可以用


方法二

设置虚拟内存方法:

1:free -m查看内存状态

然后你会发现两列,下面的Swap也就是虚拟内存全为0

输入dd if=/dev/zero of=/opt/swap bs=1024 count=1024000

dd if=/dev/zero of=/opt/swap bs=1024 count=1024000
#该命令表示在opt分区建立名为swap,大小为1G的虚拟内存文件
---
1024000+0 records in
1024000+0 records out
1048576000 bytes (1.0 GB) copied, 16.6877 s, 62.8 MB/s

接着:将swap文件设置为swap分区文件

chmod 600 /opt/swap    //注意更改swap文件的权限
mkswap /opt/swap
---
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=fc47f29e-31af-401e-856d-0fec5262179e

最后:激活swap,启用分区交换文件

swapon /opt/swap

现在看下结果

free -m
              total        used        free      shared  buff/cache  available
Mem:          1839          792          874         70     172     851   
Swap:          999          0        999

如何关闭虚拟内存呢?

首先停止swap分区 swapoff /opt/swap

 swapoff /opt/swap
 free -m
              total        used        free      shared  buff/cache  available
Mem:            992        191          63          13        738        626
Swap:            0          0          0

其次删除掉swap文件即可 swapoff /opt/swap
首先看一下磁盘大小

df -h
rm -rf /opt/swap
df -h

标题:云服务器内存不够解决办法
作者:sirwsl
地址:https://www.wslhome.top/articles/2020/07/20/1595254904833.html