valgrind提示 still reachable 具体有哪些情况?算不算泄漏?
大家好,我在linux上开发的一个程序,涉及到数据库读写,有时可能有大数据量操作,在使用valgrind进行检测内存泄漏时,只有一些still reachable的空间,之前查阅valgrind的网站说这种大多数情况是正常的。然后我就认为没有泄漏,在实际使用的时候发现一开始运行,程序占用1.1M左右的空间(使用top命令查看),运行一些比较少的数据读写时也偶尔发生一点变化,但总体维持在总内存的0.4%左右,我的内存是256M的。但当我操作40万条记录时,当然占的空间比较大,当全部记录写入完毕后,我认为应该恢复到0.4%的水平,而实际却是在2.2%左右,占了5.4M的空间,且一直都这么多,我经过了一个晚上后再次查看,还是2.2%。但我再次写入40万条记录后,并不会继续增长,还是维持在2.2%上。
请教一下高手,valgrind所说的still reachable的空间指的是什么情况下,仍然可以访问?会不会算泄漏?
对于我的这个程序来说,是不是内存泄漏了呢?
谢谢!