我写了一个简单的程序,一个死循环不断读目录或文件,结果发现内存越用越多,不知各位如何处理。
验证代码如下:
use std::{fs, thread, time};
fn main() {
let step = time::Duration::from_secs(1);
loop {
visit_dir("./src");
thread::sleep(step);
}
}
fn visit_dir(dir: &str) {
for f in fs::read_dir(dir).unwrap() {}
}
我在网上找了 axum 的例子,启动一个hello, world 的例子也是一样。
1
共 5 条评论, 1 页
评论区
写评论就你这个代码我的机器上没出现内存增长的现象
我原来也担心是不是需要 close,但是查文档没找到。rust 都自动做了。
--
👇
xian9yu: 读了后记得close
后面在 linux 环境下又跑了一下,看着是不再有问题。可能是 MAC 下不知道为啥会增加。
读了后记得close
你内存泄漏的代码不在贴出来的这部分里面
检查你底下那个for循环体内的代码块