Ich versuche, Shark zu verwenden, um nach Fehlern im L2-Cache zu suchen, aber es funktioniert nicht. Alle anderen Shark-Sampling-Modi funktionieren gut.
Antworten
Zu viele Anzeigen?Nicht alle CPUs unterstützen die Erstellung von L2-Cache-Miss-Profilen (es hängt davon ab, welche Leistungsregister die CPU hat).
Beachten Sie auch, dass Sie nur alle N Cache-Misses ein Sample erhalten. Wenn Ihr Code also nicht viel tut (d. h. nicht auf nicht gecachten Speicher zugreift), sehen Sie möglicherweise keine Samples.
... ein wenig spät, aber die Chancen stehen gut, dass Shark aus irgendeinem Grund nicht erkannt hat, welche CPU Sie verwenden, und annimmt, dass Sie nicht die entsprechenden Hardware-Leistungszähler haben.
- Konfig->Bearbeiten
- das Dropdown-Menü Ansicht von Einfach auf Erweitert umschalten
- kippen Sie das CPU-Dropdown von "Current (Unknown)" auf Ihre CPU
- Aktivieren Sie die Leistungszähler, die Sie interessieren. Z. B. L2_line_in .
Schauen Sie in den Handbüchern zur Intel-Architektur (#3, glaube ich) nach, welcher Perf-Counter was tut - leider gibt es oft keine direkten L1/L2/LLC-Miss-Counter, so dass Sie eine Kombination aus anderen Countern benötigen oder einen anderen als Schätzung verwenden.