Linux内存释放

Linux内存释放

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

1python

2缓存

3spa

4进程

5ip

6内存

7it

8table

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

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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

[root@ipython ~]# sync

 

二、粗暴清理

[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

相关文章
相关标签/搜索