gpt4 book ai didi

c - 如何强制 Linux C 可执行文件访问磁盘以获取数据

转载 作者:太空狗 更新时间:2023-10-29 12:05:05 25 4
gpt4 key购买 nike

我目前正在做一个项目,我需要测试它的性能。因此,我正在开发一个 C 客户端,它可以重复访问文件中的随机磁盘页面。客户端针对 Linux Debian 操作系统(64 位),操作如下:

一开始,它分配一个动态的内存结构,其中包含它将访问的页面的信息。然后,在若干轮中,它会从文件中获取每一页的数据。

为了监控底层文件系统性能,我想强制客户端用新页面替换 RAM 内容,而不是通过缓存提高其性能。所以,我让它使用它的大部分 RAM(它有 512MB 的主内存,我强制它使用 ~ 300MB)。事实上,我不监控性能下降。

是否有另一种方法可以强制替换主内存中的内存页面,以便我可以监控客户调用中的 IO 延迟?

最佳答案

您可以通过执行此操作(以 root 身份)刷新内存缓存:

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

各种values drop_caches 接受的是:

To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3 > /proc/sys/vm/drop_caches

你需要 3 个才能放下所有东西。

关于c - 如何强制 Linux C 可执行文件访问磁盘以获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17021336/

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