仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 390|回复: 8
打印 上一主题 下一主题

[其他Linux] 带来一篇Linux 内存泄露的聚积处置办法

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 12:19:39 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用gcc或g++进行编译,使用gdb进行调试;
Linux体系下真正有伤害的是内存泄露的聚积,这会终极损耗尽体系任何的内存。上面是排查息争决计划与人人一同分享。
1、Linux内存监控内存泄露的界说:
一样平常我们常说的内存泄露是指堆内存的泄露。堆内存是指程式从堆平分配的,巨细恣意的(内存块的巨细可以在程式运转期决意),利用完后必需显现开释的内存。使用程式一样平常利用malloc,realloc,new等函数从堆平分配到一块内存,利用完后,程式必需卖力响应的挪用free或delete开释该内存块,不然,这块内存就不克不及被再次利用,我们就说这块内存泄露了。
2、Linux内存监控内存保守的伤害
从用户利用程式的角度来看,内存泄露自己不会发生甚么伤害,作为一样平常的用户,基本感到不到内存泄露的存在。真正有伤害的是内存泄露的聚积,这会终极损耗尽体系任何的内存。从这个角度来讲,一次性内存泄露并没有甚么伤害,由于他不会聚积,而隐式内存泄露伤害性则很年夜,由于较之于常发性和偶发性内存泄露他更难被检测到。存在内存泄露成绩的程式除会占用更多的内存外,还会使程式的功能急剧下落。关于服务器而言,假设呈现这类情形,即便体系不溃散,也会严峻影响利用。
3、Linux内存监控内存保守的检测和接纳
关于内存溢出之类的贫苦大概人人在编写指针对照多的庞大的程式的时分就会碰着。在Linux或unix下,C、C++言语是最让用工具。可是我们的C++程式缺少响应的手腕来检测内存信息,而只能利用top指令察看历程的静态内存总额。并且程式加入时,我们没法获知任何内存泄露信息。
利用kill命令
利用Linux命令接纳内存,我们可以利用Ps、Kill两个命令检测内存利用情形和举行接纳。在利用最终用户权限时利用命令“Ps”,他会列出任何正在运转的程式称号,和对应的历程号(PID)。Kill命令的事情道理是:向Linux操纵体系的内核送出一个体系操纵旌旗灯号和程式的历程号(PID)。
使用例子:
为了高效力接纳内存可以利用命令ps参数v:
[root@www~]#psv
PIDTTYSTATTIMEMAJFLTRSDRSRSS%MEMCOMMAND
2542tty1Ss+0:000816274280.1/sbin/mingettytty1
2543tty2Ss+0:000816314280.1/sbin/mingettytty2
2547tty3Ss+0:000816314320.1/sbin/mingettytty3
2548tty4Ss+0:000816274280.1/sbin/mingettytty4
2574tty5Ss+0:000816314320.1/sbin/mingettytty5
2587tty6Ss+0:000816274240.1/sbin/mingettytty6
2657tty7Ss+1:181217102998170403.0/usr/bin/Xorg:0-br-a
2670pts/2Ss0:012682621314960.6-bash
3008pts/4Ss0:002682622114720.6/bin/bash
3029pts/4S+0:0023217835480.2ping192.168.1.12
3030pts/2R+0:0027351347680.3psv
然后假设想接纳Ping命令的内存的话,利用命令:
#Kill-93029
</p>
给你装的系统里为ubuntu12.04,它已经封装的很臃肿了,但是考虑到你没有很多时间投入其中,所以给你装了它,但是怎么用它提高开发效率,需要你在学习的过程中不断总结;
深爱那片海 该用户已被删除
9#
发表于 2015-3-20 04:50:58 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
金色的骷髅 该用户已被删除
8#
发表于 2015-3-12 22:42:54 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
谁可相欹 该用户已被删除
7#
发表于 2015-3-6 06:55:02 | 只看该作者
最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
冷月葬花魂 该用户已被删除
6#
发表于 2015-2-18 11:27:42 | 只看该作者
学习Linux系统在服务中的配置方法及使用方法。Linux在服务器中应用相当广,应对常用的apache,samba,ftp等服务器基本配置清楚了解。[重点,应巩固学习]
莫相离 该用户已被删除
5#
发表于 2015-2-6 19:45:20 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
小妖女 该用户已被删除
地板
发表于 2015-1-31 13:18:17 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
板凳
发表于 2015-1-22 19:23:08 | 只看该作者
上课传授的不仅仅是知识,更重要的是一些道理,包括一些做人的道理,讲课时也抓住重点,循序渐进,让同学理解很快;更可贵的是不以你过去的成绩看问题.
再现理想 该用户已被删除
沙发
发表于 2015-1-18 09:42:53 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-23 07:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表