精华内容
下载资源
问答
  • linux释放内存

    2019-03-14 13:56:04
    Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是linux内存管理中非常出色的一点,所以...

    Linux服务器运行一段时间后,由于其内存管理机制,会将暂时不用的内存转为buff/cache,这样在程序使用到这一部分数据时,能够很快的取出,从而提高系统的运行效率,所以这也正是linux内存管理中非常出色的一点,所以乍一看内存剩余的非常少,但是在程序真正需要内存空间时,linux会将缓存让出给程序使用,这样达到对内存的最充分利用,所以真正剩余的内存是free+buff/cache

    但是有些时候大量的缓存占据空间,这时候应用程序回去使用swap交换空间,从而使系统变慢,这时候需要手动去释放内存,释放内存的时候,首先执行命令 sync 将所有正在内存中的缓冲区写到磁盘中,其中包括已经修改的文件inode、已延迟的块I/O以及读写映射文件,从而确保文件系统的完整性

    说到清理内存,那么不得不提到/proc这一个虚拟文件系统,这里面的数据和文件都是内存中的实时数据,很多参数的获取都可以从下面相应的文件中得到,比如查看某一进程占用的内存大小和各项参数,cpu和主板的详细信息,显卡的参数等等;相应的关于内存的管理方式是在/proc/sys/vm/drop_chches文件中,一定要注意这个文件中存放的并不是具体的内存内容,而是0-3这几个数字,通过文件大小只有1B也可以知道,而这些代号分别告诉系统代表不同的含义如下:

    0:0是系统默认值,默认情况下表示不释放内存,由操作系统自动管理

    1:释放页缓存

    2:释放dentries和inodes

    3:释放所有缓存

    所以根据上面的说明,分别将1,2,3这3个数字重定向到drop_caches中可以实现内存的释放,一般释放内存都是重定向3到文件中,释放所有的缓存

    [root@ecs-6320 ~]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          7.7G       6.3G       1.4G        16K       135M       694M
    -/+ buffers/cache:       5.4G       2.2G
    Swap:         2.0G       1.3G       682M
    [root@ecs-6320 ~]# cat /proc/sys/vm/drop_caches 
    0
    [root@ecs-6320 ~]# echo 1 > /proc/sys/vm/drop_caches 
    [root@ecs-6320 ~]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          7.7G       5.4G       2.2G        16K       600K        17M
    -/+ buffers/cache:       5.4G       2.3G
    Swap:         2.0G       1.3G       682M
    [root@ecs-6320 ~]# echo 0 > /proc/sys/vm/drop_caches 
    
    

    另外需要注意的是,在生产环境中的服务器我们不要频繁的去释放内存,只在必要时候清理内存即可,更重要的是我们应该从应用程序层面去优化内存的利用和释放,经常清理内存可能只是暂时屏蔽的应用程序中的一些bug,所以更重要的是程序的调优,其他的交给操作系统来管理

    内容参考https://www.cnblogs.com/freeweb/p/5713513.html

    展开全文
  • Linux释放内存

    千次阅读 2016-06-15 08:56:34
    Linux释放内存在Linux上我们通常可以使用下面的命令来查看系统内存使用情况$ free -m $ cat /proc/meminfo通常我们可以根据具体情况使用下面的命令来释放内存(需要root权限来执行) Freeing Up the Page Cache # ...

    Linux释放内存

    在Linux上我们通常可以使用下面的命令来查看系统内存使用情况

    $ free -m
    $ cat /proc/meminfo

    通常我们可以根据具体情况使用下面的命令来释放内存(需要root权限来执行)

    • Freeing Up the Page Cache
    # echo 1 > /proc/sys/vm/drop_caches
    # sync
    • Freeing Up the Dentries and Inodes
    # echo 2 > /proc/sys/vm/drop_caches
    # sync
    • Freeing Up the Page Cache, Dentries and Inodes
    # echo 3 > /proc/sys/vm/drop_caches
    # sync

    也可以使用下面一条长命令

    sudo su -c 'free -m && sync && echo 3 > /proc/sys/vm/drop_caches && sync && free -m'

    在我的虚拟机上运行结果如下

                  total        used        free      shared  buff/cache   available
    Mem:           2848        2094          82          29         671         471
    Swap:          2047         914        1133
    
                  total        used        free      shared  buff/cache   available
    Mem:           2848        2081         294          29         471         491
    Swap:          2047         914        1133

    转载请以链接形式标明本文地址
    本文地址:http://blog.csdn.net/kongxx/article/details/51678487

    展开全文
  • Linux释放cache内存

    千次阅读 2012-07-12 21:24:25
    因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。 先说下free命令怎么看内存 [root@yuyii proc]# free total used free shared buffers...
    因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。
    

    先说下free命令怎么看内存

    [root@yuyii proc]# free

    total used free shared buffers cached

    Mem: 515588 295452 220136 0 2060 64040

    -/+ buffers/cache: 229352 286236

    Swap: 682720 112 682608

    其中第一行用全局角度描述系统使用的内存状况:

    total——总物理内存

    used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存

    free——完全未被使用的内存

    shared——应用程序共享内存

    buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加)

    cached——缓存,用于已打开的文件

    note:

    total=used+free

    used=buffers+cached (maybe add shared also)

    第二行描述应用程序的内存使用:

    前个值表示-buffers/cache——应用程序使用的内存大小,used减去缓存值

    后个值表示+buffers/cache——所有可供应用程序使用的内存大小,free加上缓存值

    note:

    -buffers/cache=used-buffers-cached

    +buffers/cache=free+buffers+cached

    第三行表示swap的使用:

    used——已使用

    free——未使用

    释放 http://www.linuxdiyf.com/viewarticle.php?id=71035
    展开全文
  • 问题新装服务器,used内存占用很大,而实际系统中个进程并没有占用这么多内存现象top查看下,used很大,如果有其他外部程序向监控服务器的内存,used实际是个比较关键的指标,而该指标却并没有反应出服务器实际占用...

    问题

    新装服务器,used内存占用很大,而实际系统中个进程并没有占用这么多内存

    现象

    top查看下,used很大,如果有其他外部程序向监控服务器的内存,used实际是个比较关键的指标,而该指标却并没有反应出服务器实际占用情况:
    top命令查看的效果

    原因

    实际这是缓存原因导致,可以通过命令释放,即上图的cached部分

    解决

    执行以下命令:

    echo 0 >/proc/sys/vm/drop_caches
    free -m #看内存是否已经释放掉了。
    如果我们需要释放所有缓存,就输入下面的命令:
    echo 3 > /proc/sys/vm/drop_caches

    0-3的参数含义:

    设置值说明:
    0:不释放(系统默认值)
    1:释放页缓存
    2:释放dentries和inodes
    3:释放所有缓存

    注意

    重启后会恢复原样,可以通过脚本定期执行echo 3 > /proc/sys/vm/drop_caches,释放缓存

    展开全文
  • linux 释放内存

    2013-05-25 06:41:25
    Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches 频繁的文件访问会导致系统的Cache使用量大增 $ free -m total used free shared buffers cached Mem: 3955 3926 28 0 55 3459 -/+ buffers/cache: ...
  • linux释放缓存内存

    2018-07-03 09:48:16
    操作如下: [root@server test]# cat /proc/sys/vm/drop_caches 0 首先,/proc/sys /vm/drop_caches的值,默认为0 [root@server test]# sync 手动执行sync命令(描述:sync 命令运行 sync...那么有效的释放了 buffer和cache.
  • 1.查看内存占用情况 $ free -m -h total used free shared buff/cache available Mem: 7.7G 1.0G 5.9G 385M 780M 6.0G Swap: ...
  • LINUX释放CACHE内存

    2011-12-07 15:30:14
    我们用free命令查看系统内存使用情况的时候会发现: #free -m  total used free shared buffers cached Mem: 24359 11240 13119 0 0 10706
  • linux内存管理理解之释放linux内存

    千次阅读 2015-11-21 16:24:47
    总有很多朋友对于Linux内存管理有疑问,之前一篇[转]理解... 当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没
  • Linux释放内存

    2014-02-10 09:02:38
    Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好。 但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了。 Linux...
  • linux释放内存的命令

    万次阅读 2019-04-13 02:00:38
    Linux释放内存的命令:sync echo 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes 3:释放所有缓存释放完内存...
  •  本文中使用的apache是 Event 模式,在访问量上来之后,linux服务器总共60G的内存占用持续升高,于是将内存容量扩大,升高至120G。经过一段时间后发现,内存占用继续升高,几乎将120G占满,网站访问速度急速下降...
  • Linux Used内存到底哪里去了? January 19th, 2013Yu FengLeave a commentGo to comments 原创文章,转载请注明: 转载自系统技术非业余研究 本文链接地址: Linux Used内存到底哪里去了? ...
  • Linux 释放内存

    2011-03-23 13:50:00
    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法。那么我来谈谈这个问题。<br /&...
  • Linux下手动释放内存

    2014-01-03 14:06:20
    Linux下手动释放内存
  • Linux 释放内存命令

    2012-02-09 15:40:12
    Linux 释放内存命令 现在论坛在线人数有时候突然猛增,内存暴增,然后就服务器挂了。找到一个方法 先运行:  sync 然后:  echo 3 > /proc/sys/vm/drop_caches  total used free shared ...
  • Linux 释放内存方法

    2009-11-24 16:54:00
    Linux 释放内存方法 先看看内存使用状况[root@node1 ~]# free -mtotal used free shared buffers cachedMem: 8004 6557 1446 0 163 5630-/+ buffers/cache: 763 7240Swap: 1983 0 1983把内存里的数据暂时写到硬盘里...
  • linux 手动释放内存

    千次阅读 2019-08-03 18:22:12
    当在Linux下 频繁存取文件 或者 程序测试频繁崩溃后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching 因此我们很有必要手动清理系统缓存释放内存。 我们在清理缓存前应该先 sync...
  • LINUX释放内存

    千次阅读 2013-01-22 15:17:52
    细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个...
  • 新装服务器,used内存占用很大,而实际系统中个进程并没有占用这么多内存 现象 top查看下,used很大,如果有其他外部程序向监控服务器的内存,used实际是个比较关键的指标,而该指标却并没有反应出服务器实际占用...
  • Linux-手动释放linux内存cache

    千次阅读 2017-01-11 23:41:01
    当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching。 手动释放缓存 /proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行...
  • 1.手动释放cache 我们在清理缓存前应该先 sync下 因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在你操作过程中会把文件资料先缓存。...
  • Linux下操作频繁时,物理内存会被快速用完,当操作结束后,物理内存没有被正常的释放,而一直当作caching,影响系统的正常运行,今天就来谈谈如何能释放这一部分被占用的内存。 1、打开Linux命令窗口,可使用...
  • 细心的朋友会注意到,当你在linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,214
精华内容 12,085
关键字:

linux释放used内存

linux 订阅