linux释放内存

首先我们可能会用free 去查看内存的使用率,它应该是这样的


[root@ipython ~]# free -m             total       used       free     shared    buffers     cached Mem:         32040      31707        332          0        498      27649 -/+ buffers/cache:       3559      28480 Swap:        16087          0      16087 ##实际上在一个进程结束后其内存是会被释放的,但是内核没有立刻把内存收集到free中,而是存放在cache或buffers当中,以提高系统的IO效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用!## ##证:如果说used占用很多,free很少,而且cache和buffer占的比例也很小,那表明内存是不够用了##

1

2

3

4

5

6

7

8

9

[root@ipython ~]# free -m

             total       used       free     shared    buffers     cached

Mem:         32040      31707        332          0        498      27649

-/+ buffers/cache:       3559      28480

Swap:        16087          0      16087

 

##实际上在一个进程结束后其内存是会被释放的,但是内核没有立刻把内存收集到free中,而是存放在cache或buffers当中,以提高系统的IO效率,cache和buffered的内存是由内核进行动态的配置管理,如果系统的free大小不够的时候,系统会自动释放cache buffer的内存给程序使用!##

 

##证:如果说used占用很多,free很少,而且cache和buffer占的比例也很小,那表明内存是不够用了##

 

当然,如果你仍需要看到free比较多,你可以尝试这样


1、使用sync命令将所有未写的系统缓存区write to disk,包含已修改的i node、已延迟的块I\O和读写映射 [root@ipython ~]# sync 2、粗暴清理 [root@ipython ~]# cat /proc/sys/vm/drop_caches 0 ##可以看到默认是0,drop_caches提供了三个选项操作## 1 清空页缓存   2 清空inode和目录树缓存  3 清空所有的缓存 ##清空缓存页## [root@ipython ~]# echo "1">/proc/sys/vm/drop_caches ##再来看看## [root@ipython ~]# free -m             total       used       free     shared    buffers     cached Mem:         32040       2564      29475          0          0         40 -/+ buffers/cache:       2524      29515 Swap:        16087          0      16087

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1、使用sync命令将所有未写的系统缓存区write to disk,包含已修改的i node、已延迟的块I\O和读写映射

[root@ipython ~]# sync

 

2、粗暴清理

[root@ipython ~]# cat /proc/sys/vm/drop_caches

0

##可以看到默认是0,drop_caches提供了三个选项操作##

1 清空页缓存   2 清空inode和目录树缓存  3 清空所有的缓存

 

##清空缓存页##

[root@ipython ~]# echo "1">/proc/sys/vm/drop_caches

 

##再来看看##

[root@ipython ~]# free -m

             total       used       free     shared    buffers     cached

Mem:         32040       2564      29475          0          0         40

-/+ buffers/cache:       2524      29515

Swap:        16087          0      16087


你可能感兴趣的:(linux)