私は仮想マシンのマルチプロセッサ記録再生機能を研究しています。仮想CPUが仮想マシンで実行した非決定的メモリアクセスログがあります。
そのほとんどはカーネル空間メモリ、つまり0Xc0000000以上を指します。
たとえば、以下は、仮想マシンでSPLASHベンチマークを実行した後に最も頻繁にアクセスされる10個のカーネルメモリアドレスのリストです。
0xfffb5000
0xc1779db0
0xc18b6910
0xc1771a44
0xc1771a40
0xc1779e00
0xc18b67e0
0xc18b693c
0xc18b67f0
0xfffa1000
このメモリアドレスに正確に何があるのかを知る方法があるかどうか疑問に思います。カーネルスタック、vsyscallページ、スケジューラの準備リストなど、
この問題を解決する方法を考え出すことができます。レコードの再読み込みを高速化するためのオーバーヘッドPut ...
カーネルコードで場所を表示するための開始プロンプト
ありがとう
ベストアンサー1
実際のマシンでは、/boot/System.map*(配布版でそのファイルを何と呼んでも)を見てみましょう。
私の考えでは、KVM仮想マシン内でも同じだと思います。