我正在用C ++编写一个基准testing工具,我想在实验之间清除文件系统内存caching。 我知道以下控制台命令:
sync echo 3 > /proc/sys/vm/drop_caches
我的问题是如何直接在C ++中以编程方式执行此操作?
任何帮助表示赞赏!
只要写信给它:
sync(); std::ofstream ofs("/proc/sys/vm/drop_caches"); ofs << "3" << std::endl;
像这样的事情应该做的伎俩:
int fd; char* data = "3"; sync(); fd = open("/proc/sys/vm/drop_caches", O_WRONLY); write(fd, data, sizeof(char)); close(fd);