搜索
首页 电脑/网络 操作系统/系统故障

在linux写的C语言程序

在linux写的C语言程序,使用top查看内存的使用率不断的增加,直到程序死机在linux写的C语言程序,使用top查看内存的使用率不断的增加,直到程序死机。然后写了一个测试程序,只是简单的while(1)死循环,用top查看,内存也是再不断的增加,不知道是什么问题。还有就是关闭程序之后,占用的内存也不会被释放,重新打开程序之后,内存在关闭的基础上重新增加。这个是什么问题。请高手指教。

全部回答

2012-02-12

0 0
    根据你的描述,我判断很有可能是你的程序中有死循环造成的,是不是内存泄露还需要进一步判断。 linux的内存管理和windows不同,linux的内存分配原则是优先使用物理内存,只有在物理内存满足不了需要时,才进行物理内存和虚拟内存的交换;windows则是根据一定的比例进行虚拟内存和物理内存的交换;因此,linux系统的物理内存使用量是不断增减,指导95%以上才会稳定,其实是linux为提高系统性内进行的物理内存使用优化,这样能够提高物理内存使用率,提高性能。
     如果你的进程关闭,linux系统也不会马上释放内存,等到其他进程请求内存而且物理内存不足时才去释放。 这里linux的内存管理机制。

2012-02-22

157 0
你的实例程序是什么呢?估计得详细点才能帮你一起看看具体是啥问题。 你用top命令看的是哪里使用的内存?top中按m键可以按照内存使用大小给进程排序。 注意有的地方写的used的内存,是把cache和buffer一起算进到used的,而cache和buffer是可以被继续使用的内存;用free命令,要看显示内存的第二行里面的used和free才是真正的内存情况。

2012-02-11

123 0
内存泄露问题。 需要给出事例程序才能查出原因。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
操作系统/系统故障
程序设计
电脑装机
硬件
笔记本电脑
百度
互联网
反病毒
软件
操作系统/系统故障
操作系统/系统故障
举报
举报原因(必选):
取消确定举报