当前位置: 代码迷 >> AIX >> 在一个C/C++程序中,怎么获取UNIX操作系统缓存行大小
  详细解决方案

在一个C/C++程序中,怎么获取UNIX操作系统缓存行大小

热度:9136   发布时间:2013-02-26 00:00:00.0
在一个C/C++程序中,如何获取UNIX操作系统缓存行大小?
请教高手:在Windows平台上,很容易获取UNIX操作系统缓存行大小,包括Linux和Web OS,但是在AIX(运行于Power之上)、HP-UX(运行于安腾)、Solaris(运行于SPARC)之上,如何获取呢?

------解决方案--------------------------------------------------------
你可以有一本看可以看hwloc库的资料(BSD许可证),不同架构和不同系统都有介绍。你还可以使用命令行工具lstopo或官方提供的API文档。
------解决方案--------------------------------------------------------
对于Solaris(SPARC和x86的架构),您可以使用这个命令:
$ prtpicl -v -c cpu | grep -i cache-line-size :l1-dcache-line-size 0x40 :l1-icache-line-size 0x40 :l2-cache-line-size 0x40
  相关解决方案