linux下如何测试缺页率?

linux下如何测试缺页率?,第1张

用ps命令可以查看进程 page fault信息

ps -eo min_flt,maj_flt,pid,%cpu,%mem,pagein,args --sort=min_flt

min_flt 是页分配是的缺页

maj_flt, 是磁盘读写时的缺页

pagein 是 从磁盘加载页面回物理内存

一个理想的程序,稳定运行的时候这几项数值应该不会再变化。如果发现程序每秒的数值增加的比较多,那就是有问题了。

不知道你从哪里看到的一个 缺页率的概念。

微软的文档 只说page fault per second

http://technet.microsoft.com/en-us/library/cc768048.aspx。

SAP的文档 http://help.sap.com/saphelp_nw04/helpdata/en/84/7ed390d81f11d188be0000e83539c3/content.htm

这里有个缺页率的说法? 指的其实就是 Pages Input/sec 。

如果是这个话,linux你可以用ps 命令,top 命令, perf命令之类查看这几个值,然后算一下每秒个数吧。我在另外一个帖子已经回复你了。

-----------------------------------------------

至于你这里说的 主存的总次数,这个东西几本不可能统计的出来。你知道内存都是分为一个page 一page,比如说4k的大小。 但程序内存访问肯定不是每次都是4k大小的。

cpu是有写内存访问相关的硬件计数信息,这个可以通过一些性能测试工具,可以算出cpu上的内存带宽。但这个其实和你那恶主存总访问次数关系不大,因为我看你这个是想用来计算所谓的“缺页率”的。内存访问其实很多时候都不是在一个page上面连续的。有可能地址是离散的,没法统计什么的主存访问计数。

另外cpu的cache有很多级,L1 cache , L2 L3 cache扽。真正的到达 主存的其实已经很少了,最求程序性能其实很多 时候关注的是 L1 L2 这些级别缓存的命中率。这些都可以通过性能测试工具读取得到。

------------------------------------

至于为什么有page fault可以有很准确的计数,是因为发生page fault的时候,硬件会通过中断通知系统内核。 然后其实微软的文档说的 page input , page output等都是说的swap交换内存到磁盘的磁盘 *** 作。这个信息前面的帖子我前面也给你列出来了。还有vmstat这些命令应该也是可以看到 swap分区的使用情况的。

这东西其实没必要那么死扣字眼,理解原理就可以了。想page fault这个,就知道为什么会影响性能,怎么判断page fault是不是对程序影响很大就行了。

看你老来提问,写了好多。。。。。。。

用的fedora吧?ubuntu早就已经不用这种打开新窗口的方式了。

解决方法:

1.点击 计算机

2.编辑->首选项->

3.视图->默认视图->查看新建文件夹使用(选择 列表视图)->将文件夹放在文件前

行为->行为->总是在浏览器窗口中打开


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/5900988.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-07
下一篇2023-03-07

发表评论

登录后才能评论

评论列表(0条)

    保存