GNU/Linux >> Linux の 問題 >  >> Linux

Linux –これらのアドレスに含まれていますか?

仮想マシンのMUltiプロセッサのレコード再生機能に取り組んでいます。
仮想CPUによって仮想マシンで行われた非決定的なメモリアクセスのログがあります。
これらのポイントの非常に高い割合カーネルスペースメモリ、つまり0Xc0000000より上。
たとえば、仮想マシンでSPLASHベンチマークを実行した後に最もアクセスされたカーネルメモリアドレス10個のリストを次に示します

0xfffb5000                                                    
0xc1779db0                                               
0xc18b6910                                                      
0xc1771a44                                                      
0xc1771a40                                                      
0xc1779e00                                                      
0xc18b67e0                                                      
0xc18b693c                                                      
0xc18b67f0                                                      
0xfffa1000

これらのメモリアドレスに正確に何があるかを見つける方法があるかどうか知りたいのですが…それはカーネルスタック、vsyscallページ、スケジューラの準備完了リストです…
これで、このオーバーヘッドを解決する方法を考えることができます。レコードの再生を高速化…。
カーネルコードのどこを見ればよいかについてのヒントは大歓迎です

ありがとう

承認された回答:

物理マシンでは、/ boot / System.map *(ディストリビューションでそのファイルが呼び出されているものは何でも)を調べます。

私の推測では、KVMVM内でも同じことが言えます。


Linux
  1. PodmanでLinux仮想マシンを実行する

  2. Linuxシステムが物理マシンか仮想マシンかを確認する方法

  3. 開発用の Cygwin と Linux 仮想マシンの比較?

  1. Linuxシステムが物理システムまたは仮想マシンで実行されているかどうかを確認するにはどうすればよいですか?

  2. ベアメタル Linux インストールを仮想マシンに移行する方法

  3. Android - Android で Windows または Linux を仮想マシンとして実行するにはどうすればよいですか?

  1. RedhatLinuxでKVMベースの仮想マシンを削除する方法

  2. RedhatLinuxホストでの仮想マシンの自動起動の構成

  3. Linuxの再起動コマンド