|
|
-----------------------------------------------------------相关资料----------------------------------------------------------------------------------------
内存泄漏指的是程序员动态分配了内存,但是在使用完成后却忘了将其释放。除了内存泄漏以外,在开发人员自己管理内存的开发中,缓冲溢出、悬摆指针等其它一些内存的问题也时有发生。
如果出现这样的问题,后果将非常严重。因为有问题的程序会不断地向系统申请内存,并且不释放内存,最终可能导致系统内存耗尽而导致系统崩溃。此外,存在内存泄漏问题的程序除了会占用更多的内存外,还会使程序的性能急剧下降。对于服务器而言,如果出现这种情况,即使系统不崩溃,也会严重影响使用。
-----------------------------------------------------------相关资料----------------------------------------------------------------------------------------
很不幸,我们请别家公司写了一个程序就有这样的问题。不断的申请服务器的内存,而不释放内存。现在我们公司的服务器内存都是6G的,只能够维持一天,第二天就必须重新启动服务器。
就因为不能释放内存,每台服务器的成本高了2W左右。想解决这个问题,但是写这个程序的公司现阶段拿不出解决办法来。
既然不能从程序本身着手,我就想是不是可以从系统面着手呢。服务器用的是X86体系结构,操作系统是 redhat 7.3 在网上找了一下 linux下似乎没什么释放内存的程序(windows下就很多)。
是不是可以自己写个脚本,用crond每过一阶段就释放不在使用,但是被程序占用的内存呢?怎么样
区分一段内存是可以被释放的呢?
各位达人有这方面的资料可以提供吗?或者linux下有没有可以释放内存的程序呢?
请各位达人不吝赐教,小弟万分感激!!拜上!! |
|