Articles of caching

这两个函数有什么区别:`ioremap_uc()`和`set_memory_uc`?

当我想将内存区域标记为Write Combined(禁用可caching和使用BIU)或者通过设置PAT(页面属性表 – PIT中的7bit)不可caching时,那么我必须使用什么,以及这两个函数之间有什么区别? 驱动程序应该使用ioremap_[uc|wc]访问具有[uc | wc]访问types的PCI BAR: void __iomem * ioremap_wc(resource_size_t phys_addr,unsigned long size) 驱动程序应该使用set_memory_[uc|wc]设置RAM范围的访问types: int set_memory_uc(unsigned long addr,int numpages) 取自: http : //lwn.net/Articles/278994/ 为什么我不能使用PCI BAR和RAM范围的单一function? 说明: ioremap_uc()获取物理地址和返回虚拟地址设置不可caching,与set_memory_uc()获得虚拟地址,并设置这些页面的Uncacheable? 这些代码是否相同? void* virt_ptr = ioremap_uc(phys_ptr, size); 和 void* virt_ptr = ioremap(phys_ptr, size); const int page_size = 4096; set_memory_uc(virt_ptr, size/page_size);

如何刷新nfs属性caching?

我需要find一种方法来刷新客户端的NFS属性caching。 stat()调用从属性caching中读取ctime而不是实际值,最多需要3秒才能将实际值反映到caching中。 在安装时使用“noac”选项,但会长期影响性能。 我碰到的解决scheme就像在同一个文件的所有者等做一个chown,但有一个正确的方法来刷新属性caching之前做一个stat()? 这个问题只发生在Redhat Linux上,而不是FreeBSD。 谁能解释一下?

如何让PHP在CLI和Web上调用时使用相同的APCcaching?

我正在使用APC来caching用户variables(使用apc_store / apc_fetch命令)。 我也启用了APC的CLI选项“apc.enable_cli = 1”。 但是,PHP的CLI版本似乎是从Apache使用的版本访问不同的APCcaching。 是否可以将APCconfiguration为同时使用CLI和Web调用的caching?

如何停止我的Linux系统中的磁盘I / O的页面caching?

这里是我的系统基于Linux2.6.32.12: 1它包含20个占用大量usr cpu的进程2需要将数据以100M / s的速率写入磁盘,并且这些数据最近不会被使用。 我期望的是: 它可以稳定运行,磁盘I / O不会影响我的系统。 我的问题: 一开始,系统按我的想法运行。 但随着时间的推移,Linux会为磁盘I / Ocaching大量数据,导致物理内存减less。 最后,将没有足够的内存,那么Linux将交换进出我的进程。 这会导致很多CPU时间用于I / O的I / O问题。 我有什么尝试: 我试图通过“fsync”来解决这个问题,每次我写一个大块。但是物理内存在caching的同时还在递减。 如何停止页面caching在这里,对我来说是没用的 更多信息: 当Top显示免费46963m时,一切都很好,包括cpu%wa低,vmstat显示没有si左右。 当Top显示免费273m时,%wa是如此之高以至于影响我的进程,而vmstat显示了很多si等等。

lmbench如何用C测量L1和L2caching的等待时间? (在手册中不能理解说明)

我想了解lmbench如何测量L1,L2和主内存的延迟。 lat_mem_rd的手册页提到了这个方法,但是我不清楚: 基准运行为两个嵌套循环。 外部循环是步幅大小。 内部循环是数组大小。 对于每个arrays大小,基准testing会创build一个指向前进一步的指针环。 遍历数组是由 p =(char **)* p; 在for循环中(for循环的头部不重要;循环是展开循环1000加载长)。 循环完成一百万次加载后停止。 你如何“创造一个指向前进的指针环”? 这是不是意味着如果stride的大小是128字节,你需要build立一个链接列表,每个节点与前一个节点相距128字节? malloc只是返回一些随机的免费内存,所以我不明白在C中是如何可能的。而在这段代码中,我总是会遇到分段错误。 (testing过了,p应该用什么初始化?) SO( 链接 )上有一个类似的线程,第一个答案讨论了这个问题,但是它没有提到如何使用链表来描述链表。 我也看了看源代码本身(lat_mem_rd.c),但是也不能理解这个。 任何帮助表示赞赏。

memcached – 与C#asp.net应用程序一起使用

我正在考虑在我正在开发的应用程序中使用memcached(在某些时候)。 最后,我打算在亚马逊EC2上托pipe这个东西 – 我只是想知道,是否有可能运行memcached的linux服务器(aws实例),并使用Windows服务器(aws实例)的应用程序,但设置它使用Linux服务器进行caching?

“C”以编程方式清除Linux机器上的L2caching

与在Linux操作系统机器上清除L2caching相关联的“C”中编写的程序步骤是什么? / sys / devices / system / cpu / cpu0 / cache / index2 / size = 6144K x 8CPU

在Linux中禁用磁盘caching

在一个课堂项目中,我的老师让我们做一些代码评估(C语言),为此我们需要在testing期间禁用磁盘caching。 目前我使用Ubuntu 12.04,我该怎么做? 谢谢。

APC文件caching不工作,但用户caching是好的

简介:我将PHP(5.3.8)安装为Apache模块,并通过PECL安装APC。 用户caching工作正常,但文件caching不工作(我有apc.cache_by_default设置为1,所以这不是问题) 细节:我刚刚得到一个VPS(与cPanel / WHM)来testing我可以在我的应用程序中使用apc文件caching和用户caching获得什么收益。 所以我得到了作为DSO(apache模块)编译的PHP 5.3。 然后通过SSH通过PECL安装APC。 (首先我尝试了使用WHM模块安装程序,它也有同样的问题,所以我通过SSH尝试) 一切似乎都很好,phpinfo显示APC加载和启用。 然后我检查了apc.php。 一切似乎确定 但是当我开始testing我的php应用程序时,文件caching信息apc中的状态为: Cached Files 0 ( 0.0 Bytes) Hits 1 Misses 0 Request Rate (hits, misses) 0.00 cache requests/second Hit Rate 0.00 cache requests/second Miss Rate 0.00 cache requests/second Insert Rate 0.00 cache requests/second Cache full count 0 这意味着没有PHP文件被caching,即使我已经浏览了10多个包含多个PHP文件。 所以一定有一些caching文件。 但用户caching运行良好。 User Cache Information […]

如何操纵Linux中的页面caching?

我想知道什么文件caching在页面caching中,并且要实际释放特定文件的caching空间。 如果需要的话,我可以编写内核模块甚至修改内核代码。 任何人都可以给我一些线索吗?