我嘗試了一些方法來測量我的計算機上的TLB大小。我以某種方式需要確保CPU不緩存我用來測量每頁平均訪問時間的陣列元素。所以,我想的循環,我這裏面的代碼,使用應答超過here:嘗試刷新緩存時發生分段錯誤(核心轉儲)錯誤
FILE *fp;
fp = fopen("/proc/sys/vm/drop_caches", "w");
fprintf(fp, "3");
fclose(fp);
不過,我收到Segmentation Fault (core dumped)
錯誤。我不知道爲什麼會發生這種情況。我對C不太好,任何幫助將不勝感激。謝謝。
當調用'fopen()'時,總是檢查(!= NULL)以確保操作成功。很可能,程序必須從'root'(管理員)模式運行,否則打開寫入失敗。 – user3629249