gpt4 book ai didi

c++ - 如何以编程方式清理 linux 中的页面缓存

转载 作者:行者123 更新时间:2023-11-28 05:43:11 26 4
gpt4 key购买 nike

我需要在 Linux Ubuntu 中清理页面缓存。有一个清理页面缓存的命令 echo 1 >/proc/sys/vm/drop_caches 可以通过终端完成,但我需要以编程方式清理页面缓存。将了解 drop_caches.c 的源代码,即 http://www2.comp.ufscar.br/lxr/source/fs/drop_caches.c帮我解决我的问题。

最佳答案

您可能无法打开文件 /proc/sys/vm/drop_caches,向其中写入 1 然后再次关闭它。该操作没有专门的系统调用。

sync();
int fd = open("/proc/sys/vm/drop_caches", O_WRONLY);
write(fd, "1", 1);
close(fd);

根据您尝试实现的目标,sync() 之前的(可选)可以帮助释放更多内存。

关于c++ - 如何以编程方式清理 linux 中的页面缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36720134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com