c++ - 如何在 Linux 系统上以编程方式清除 C++ 中的文件系统内存缓存?

标签 c++ c linux caching

我正在用 C++ 编写基准测试工具,我想在实验之间清除文件系统内存缓存。我知道以下控制台命令:

sync
echo 3 > /proc/sys/vm/drop_caches

我的问题是如何直接在 C++ 中以编程方式执行此操作?

感谢任何帮助!

最佳答案

只需写入:

sync();

std::ofstream ofs("/proc/sys/vm/drop_caches");
ofs << "3" << std::endl;

关于c++ - 如何在 Linux 系统上以编程方式清除 C++ 中的文件系统内存缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6818606/

相关文章:

c - 在 C 中,指定 2.0f 是否与 2.000000f 相同?

c++ - 如何在CMFCPropertyGridCtrl中插入一个编辑框来使用密码?

c - 最重要的位在左边吗?

c++ - 构造函数如何工作

C编程: Dynamic malloc in another function

c++ - 使用 socketpair : hangs reading output from child process 进行双向通信

c++ - 最适合正确测量缓存访问时间的计时器

c++ - 在没有 SO_LINGER > 0 的情况下强制关闭服务器端套接字会丢失数据,对吗?

c++ - 使用包含结构的 Vector 的指针问题

c++ - 在 C++11 中查找和访问优先级队列中的元素