Ich probiere einige Möglichkeiten aus, um die TLB-Größe auf meiner Maschine zu messen. Ich musste irgendwie sicherstellen, dass die CPU die Elemente des Arrays, die ich verwende, um die durchschnittliche Zugriffszeit pro Seite zu messen, nicht zwischenspeichert. Also habe ich versucht, diesen Code in der Schleife, die ich habe, mit der Antwort über here:Segmentierungsfehler (Core Dumped) Fehler beim Versuch, Cache zu leeren
FILE *fp;
fp = fopen("/proc/sys/vm/drop_caches", "w");
fprintf(fp, "3");
fclose(fp);
Ich bin jedoch die Segmentation Fault (core dumped)
Fehler. Ich habe keine Ahnung, warum das passieren könnte. Ich bin nicht sehr gut mit C und jede Hilfe würde geschätzt werden. Vielen Dank.
Wenn Sie 'fopen()' aufrufen, überprüfen Sie immer (! = NULL), um sicherzustellen, dass die Operation erfolgreich war. Höchstwahrscheinlich muss das Programm vom 'root'-Modus (Administrator) aus ausgeführt werden, andernfalls wird ein Schreibzugriff mit fehlgeschlagen. – user3629249