web-dev-qa-db-ja.com

Linuxのperfはキャッシュミスを取得できませんVM VMware ESX

CPUキャッシュミスパラメータの測定に興味があり、perfと呼ばれるこのツールに出くわしました。私はwikiをフォローし、キャッシュを取得できました-このコマンドを物理マシンで実行すると失敗します

[root@supermicro ~]# perf stat -e cache-misses dd if=/dev/zero of=/dev/null count=1000000          1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 0.539799 s, 949 MB/s

Performance counter stats for 'dd if=/dev/zero of=/dev/null count=1000000':

            55,435 cache-misses

       0.540932058 seconds time elapsed

VMwareESXマシン上にあるLinux VM)で実行すると、キャッシュミスが0になります

[root@cw-centos62 fioFiles]# perf stat -e cache-misses dd if=/dev/zero of=/dev/null count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 0.593885 s, 862 MB/s

 Performance counter stats for 'dd if=/dev/zero of=/dev/null count=1000000':

                 0 cache-misses

       0.595547968 seconds time elapsed

これは正常ですか?はいの場合、VMwareESX上にあるLinux VMのキャッシュミス情報を取得する他の方法はありますか?

Cw

4
cheng wee

このカウンターと他のいくつかのカウンターは、VMWare仮想マシンでは使用できません。

参照: ハードウェアパフォーマンス監視カウンターを使用するパフォーマンスアプリケーションは情報を正しく表示しません(2015931)

ただし、最新のVMWare製品の中には、HWPMCを有効にするオプションがあるものがあります。多くの警告と制限があります。

仮想CPUパフォーマンス監視カウンターの使用(2030221)

2
Brian