linux内存泄露问题满了会出现什么问题

[保留] 请教一个linux内存管理的问题.....内存占用99% - ChinaUnix.net
[保留] 请教一个linux内存管理的问题.....内存占用99%
http://www.chinaunix.net 作者:&&发表于: 17:26:22
total&&&&&&&used&&&&&&&free&&&&&shared&&&&buffers&&&&&cached
Mem:&&&&&&&4039768&&&&3956896&&&&&&82872&&&&&&&&&&0&&&&&&85872&&&&&691232
-/+&buffers/cache:&&&&3179792&&&&&859976
Swap:&&&&&&4194296&&&&&&&&160&&&&4194136
共享内存设置
kernel.shmmax=
vm.nr_hugepages=1300
jvm&CATALINA_OPTS='-server&-Xms2304m&-Xmx2304m&-Xmn640m&-Xss256k&-XX:+UseLargePages&-XX:+UseConcMarkSweepGC'
其他没有什么了...
top&下只有java程有时占了70%左右的内存...
内存如下使有情况应用程序(java1.5&tomcat5.5&系统Red&Hat&Enterprise&Linux&AS&release&4&(Nahant&Update&4))
没什么其它问...反还可以...只是内存占用太多
请教如上信息...系统的问题可能出在哪儿了
& 回复于: 15:02:54
问一下&太简单了!!!没人愿意讲....
& 回复于: 15:09:32
大侠们都说LINUX比XP先进,不浪费内存,有多少用多少。:mrgreen:
& 回复于: 15:26:56
大侠们都说LINUX比XP先进,不浪费内存,有多少用多少&谢谢
我都在用swap了啊!!还行吗?
& 回复于: 15:39:08
问一下有没什么命令可以释放cache&不用重启主机
& 回复于: 15:46:37
SWAP中的内容是内存中系统不常用到的数据,暂时放在SWAP里,所以SWAP中的内容可能是内存不在需要的数据,也可是以后会在使用到的。
& 回复于: 15:51:03
我想问一下以前这儿有编贴子讲centos&/proc/sys/vm/drop_caches&的值可以自动释放cache....而redhat&as4没有这参数&有其他办释放吗....老大要求我把它释放掉没办法...问问大家[&本帖最后由&sc66&于&&16:09&编辑&]
& 回复于: 17:07:36
细心的朋友会注意到,当你在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.
先来说说free命令
[root@server&~]#&free&-m
total&used&free&shared&buffers&cached
Mem:&249&163&86&0&10&94
-/+&buffers/cache:&58&191
Swap:&511&0&511
total&内存总数
used&已经使用的内存数
free&空闲的内存数
shared&多个进程共享的内存总额
buffers&Buffer&Cache和cached&Page&Cache&磁盘缓存的大小
-buffers/cache&的内存数:used&-&buffers&-&cached
+buffers/cache&的内存数:free&+&buffers&+&cached
可用的memory=free&memory+buffers+cached
有了这个基础后,可以得知,我现在used为163MB,free为86,buffer和cached分别为10,94
那么我们来看看,如果我执行复制文件,内存会发生什么变化.
[root@server&~]#&cp&-r&/etc&~/test/
[root@server&~]#&free&-m
total&used&free&shared&buffers&cached
Mem:&249&244&4&0&8&174
-/+&buffers/cache:&62&187
Swap:&511&0&511
在我命令执行结束后,used为244MB,free为4MB,buffers为8MB,cached为174MB,天呐都被cached吃掉了.别紧张,这是为了提高文件读取效率的做法.
引用/archives/2007/09/linux_free.html"为了提高磁盘存取效率,&Linux做了一些精心的设计,&除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),&还采取了两种主要Cache方式:Buffer&Cache和Page&Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了&I/O系统调用(比如read,write,getdents)的时间。"
那么有人说过段时间,linux会自动释放掉所用的内存,我们使用free再来试试,看看是否有释放&?
[root@server&test]#&free&-m
total&used&free&shared&buffers&cached
Mem:&249&244&5&0&8&174
-/+&buffers/cache:&61&188
Swap:&511&0&511
MS没有任何变化,那么我能否手动释放掉这些内存呢???回答是可以的!
/proc是一个虚拟文件系统,我们可以通过对它的读写操作做为与kernel实体间进行通信的一种手段.也就是说可以通过修改/proc中的文件,来对当前kernel的行为做出调整.那么我们可以通过调整/proc/sys/vm/drop_caches来释放内存.操作如下:
[root@server&test]#&cat&/proc/sys/vm/drop_caches
0
首先,/proc/sys/vm/drop_caches的值,默认为0
[root@server&test]#&sync
手动执行sync命令(描述:sync&命令运行&sync&子例程。如果必须停止系统,则运行&sync&命令以确保文件系统的完整性。sync&命令将所有未写的系统缓冲区写到磁盘中,包含已修改的&i-node、已延迟的块&I/O&和读写映射文件)
[root@server&test]#&echo&3&&&/proc/sys/vm/drop_caches
[root@server&test]#&cat&/proc/sys/vm/drop_caches
3
将/proc/sys/vm/drop_caches值设为3
[root@server&test]#&free&-m
total&used&free&shared&buffers&cached
Mem:&249&66&182&0&0&11
-/+&buffers/cache:&55&194
Swap:&511&0&511
再来运行free命令,发现现在的used为66MB,free为182MB,buffers为0MB,cached为11MB.那么有效的释放了buffer和cache.
有关/proc/sys/vm/drop_caches的用法在下面进行了说明
/proc/sys/vm/drop_caches&(since&Linux&2.6.16)
Writing&to&this&file&causes&the&kernel&to&drop&clean&caches,
dentries&and&inodes&from&memory,&causing&that&memory&to&become
free.
To&free&pagecache,&use&echo&1&&&/proc/sys/vm/drop_&to
free&dentries&and&inodes,&use&echo&2&&&/proc/sys/vm/drop_
to&free&pagecache,&dentries&and&inodes,&use&echo&3&&
/proc/sys/vm/drop_caches.
Because&this&is&a&non-destructive&operation&and&dirty&objects
are&not&freeable,&the&user&should&run&sync(8)&first.
& 回复于: 17:22:29
3c905_sh&&谢谢!!
/proc/sys/vm/drop_caches
Red&Hat&Enterprise&Linux&AS&release&4&(Nahant&Update&4)&此系没有上述参数我想问一下能如何修改
谢谢!!!
& 回复于: 17:41:58
你的系统的值是正常的,&这个是linux&的内存使用机制!&不需要修改,&没有必要修改!
& 回复于: 17:50:45
3c905_sh&谢谢
老大不这么认为啊我没办法&叫我一定要把他搞定....我想问你一下Red&Hat&Enterprise&Linux&AS&release&4&(Nahant&Update&4)能行吗?&好像centos有drop_caches这个参数
& 回复于: 18:41:40
单纯让系统不用内存,那要内存做什么??
还是找下,其它原因吧
& 回复于: 08:57:53
引用:原帖由&sc66&于&&17:50&发表&[url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6832660&ptid=1048594]
3c905_sh&谢谢
老大不这么认为啊我没办法&叫我一定要把他搞定....我想问你一下Red&Hat&Enterprise&Linux&AS&release&4&(Nahant&Update&4)能行吗?&好像centos有drop_caches这个参数&
你老大是错误的。
系统的CACHE和BUFFER占的内存越多,系统的性能越好。如果CACHE和BUFFER都无法分配到内存的话,那所有数据都必须
直接从硬盘存取,你能想象那样的性能会是什么样子?系统就差不多完蛋了。
真正想降低内存的使用的话,应该别用该死的JAVA,用C来写应用:mrgreen:&
现实点的话就加MEM吧:lol:
& 回复于: 09:02:00
引用:原帖由&sc66&于&&15:26&发表&[url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6832388&ptid=1048594]
大侠们都说LINUX比XP先进,不浪费内存,有多少用多少&谢谢
我都在用swap了啊!!还行吗?&
SWAP被用到一些不代表什么,可能是某个时间MEM暂时不够用就使用了SWAP,但是大部分时间MEM是够用的。
被SWAP&OUT的内容,系统是不会把它清除的,因为系统认为以后可能能用上,哪怕实际上可能根本用不上。
& 回复于: 09:30:12
8楼讲解得很好,路过学习中。
& 回复于: 09:34:31
嗯,pf8楼的
& 回复于: 21:32:05
RHEL4U6&包括&drop_cache&patch.
& 回复于: 02:28:53
这种状态是不正常的
java程序的问题,是内存泄漏,查查程序吧,有没有用完内存不擦屁股的地方块字
& 回复于: 10:22:48
不好意思&,没太明白你问的是什么意思?
& 回复于: 14:49:09
路过,学习了
& 回复于: 10:06:43
java的虚拟堆就设了2304M,两个java进程就会把4G用完,当然内存耗的凶了,想省内存就把这个虚拟堆设小点。
& 回复于: 10:13:24
& 回复于: 00:38:13
呵呵
vm.swappiness&参数仔细研究一下吧
& 回复于: 00:22:53
哈哈,这是linux的内存机制,是很正常的!不要以windows那种观念来看啊!虽然有利有弊,但个人认为利远远大于弊。
& 回复于: 09:34:00
就像楼上的一位仁兄问的,AS4中没有cache&,buffer释放的机制吗?先别说有没有用,只是想学习一下。谢谢
& 回复于: 22:16:43
fedora10:
[root@TA&/]#&cat&/proc/sys/vm/drop_caches
0
& 回复于: 13:10:09
vm.swappiness&参数仔细研究一下吧&谢谢!!!mfjoy&&
这个只是针对交换分区&这台服务器配置是我的前任配的&...我刚到公司&他这儿是kerner.shmmax设得太大了.....不过好像as4&没有vm/drop_caches&这个选&项&实在不想让他报警就设一个minfree.....的值
& 回复于: 15:57:50
JVM&堆内存设置的太大了,我每秒并发2W个连接&刚设到2G堆内存。
& 回复于: 16:18:26
JVM&堆内存设置的太大了,我每秒并发2W个连接&刚设到2G堆内存。
我这儿这两个值被他设得太猛了....物理内存&全被&kernel.shmmax占用了
kernel.shmmax=
vm.nr_hugepages=1300
& 回复于: 08:39:54
kernel.shmmax=并不等于物理内存&全被&kernel.shmmax占用了,两码事
两个JVM,各占2G,不给系统活路了
& 回复于: 13:01:40
:lol:&楼上兄弟说得对,这是linux内存使用机制来的!!
& 回复于: 17:26:22
引用:原帖由&sc66&于&&17:22&发表&[url=http://linux.chinaunix.net/bbs/redirect.php?goto=findpost&pid=6832578&ptid=1048594]
3c905_sh&&谢谢!!
/proc/sys/vm/drop_caches
Red&Hat&Enterprise&Linux&AS&release&4&(Nahant&Update&4)&此系没有上述参数我想问一下能如何修改
谢谢!!!&
[root@localhost&~]#&uname&-a
Linux&localhost.localdomain&2.6.9-78.ELsmp&#1&SMP&Wed&Jul&9&15:39:47&EDT&&i686&i386&GNU/Linux&&&&&&&&&&&
[root@localhost&~]#&cat&/etc/redhat-release&
Red&Hat&Enterprise&Linux&AS&release&4&(Nahant&Update&7)
[root@localhost&~]#&
[root@localhost&~]#&
[root@localhost&~]#&cat&/proc/sys/vm/drop_caches
0
[root@localhost&~]#&
我的主版本和你的一样,有这个文件啊?
原文链接:
转载请注明作者名及原文出处linux(39)
在使用python写程序的时候,发现一个可以无限迭代的迭代器,从而可以直接将系统中的内存占满,那么占满之后会发生什么呢?
1、 创建无限迭代,生成列表,如下:
[root@python ~]# python
Python 2.7.11 (default, Mar 20 :08)
[GCC 4.4.6
(Red Hat 4.4.6-3)] on linux2
Type &help&, &copyright&, &credits& or &license& for more information.
&&& import itertools
&&& r = map(lambda x :x*x,itertools.count(1))
2、监控使用命令vmstat
[root@python ~]# vmstat 1 -S m
#每隔一秒采集一次信息,单位为Mb
3、系统使用情况如下
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
cs us sy id wa st
0 & & &从上面可以看出,swap使用的越来越多,free的空间越来越少,到最后达到swap的最大值之后,开始恢复内存空间。
系统的内存如下:
[root@python ~]# free -m
-/+ buffers/cache:
当内存使用太多,没有剩余的内存的时候,操作系统会直接将进程杀死,如下所示:
[root@python ~]# python
Python 2.7.11 (default, Mar 20 :08)
[GCC 4.4.6
(Red Hat 4.4.6-3)] on linux2
Type &help&, &copyright&, &credits& or &license& for more information.
&&& import itertools
&&& r = map(lambda x :x*x,itertools.count(1))
Killed 最后一个killed表示杀死进程,开始回收空间。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:138243次
积分:3358
积分:3358
排名:第7316名
原创:202篇
(1)(20)(25)(7)(12)(16)(1)(9)(11)(10)(3)(2)(1)(10)(18)(3)(1)(4)(8)(2)(10)(5)(1)(4)(4)(8)(1)(3)(4)(1)(1)(1)linux系统中,晚上会自动清理内存吗,在线等
[问题点数:20分,结帖人zgycsmb]
linux系统中,晚上会自动清理内存吗,在线等
[问题点数:20分,结帖人zgycsmb]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年5月 Linux/Unix社区大版内专家分月排行榜第一2011年4月 Linux/Unix社区大版内专家分月排行榜第一2011年3月 Linux/Unix社区大版内专家分月排行榜第一2010年12月 Linux/Unix社区大版内专家分月排行榜第一2010年11月 Linux/Unix社区大版内专家分月排行榜第一2010年10月 Linux/Unix社区大版内专家分月排行榜第一2010年9月 Linux/Unix社区大版内专家分月排行榜第一2010年8月 Linux/Unix社区大版内专家分月排行榜第一2010年7月 Linux/Unix社区大版内专家分月排行榜第一2010年6月 Linux/Unix社区大版内专家分月排行榜第一2010年5月 Linux/Unix社区大版内专家分月排行榜第一2010年4月 Linux/Unix社区大版内专家分月排行榜第一2010年3月 Linux/Unix社区大版内专家分月排行榜第一2010年2月 Linux/Unix社区大版内专家分月排行榜第一2010年1月 Linux/Unix社区大版内专家分月排行榜第一2009年10月 Linux/Unix社区大版内专家分月排行榜第一2009年9月 Linux/Unix社区大版内专家分月排行榜第一
2011年7月 Linux/Unix社区大版内专家分月排行榜第二2011年6月 Linux/Unix社区大版内专家分月排行榜第二2011年2月 Linux/Unix社区大版内专家分月排行榜第二
2011年1月 Linux/Unix社区大版内专家分月排行榜第二2010年12月 Linux/Unix社区大版内专家分月排行榜第二2010年11月 Linux/Unix社区大版内专家分月排行榜第二
2011年11月 Linux/Unix社区大版内专家分月排行榜第三2011年10月 Linux/Unix社区大版内专家分月排行榜第三2011年6月 Linux/Unix社区大版内专家分月排行榜第三2011年5月 Linux/Unix社区大版内专家分月排行榜第三2011年4月 Linux/Unix社区大版内专家分月排行榜第三2011年3月 Linux/Unix社区大版内专家分月排行榜第三2011年2月 Linux/Unix社区大版内专家分月排行榜第三2010年5月 Linux/Unix社区大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。读写大文件在linux下占用大量内存且不会释放?【急】
[问题点数:20分,结帖人csdnjly]
读写大文件在linux下占用大量内存且不会释放?【急】
[问题点数:20分,结帖人csdnjly]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 linux内存泄露问题 的文章

 

随机推荐