[英]Why do I need to run an application as a root for the PAPI library to work?
我剛剛升級到Ubuntu 16.04 LTS。 在我的C ++應用程序中,我使用PAPI庫,因此我從http://icl.utk.edu/papi/安裝了它。 但是由於某種原因,如果沒有開頭必須輸入sudo
,我將無法運行我的應用程序。
即使只是在終端上鍵入papi_avail
以查看哪些計數器可用,我也會得到以下信息:
================================================================================
PAPI Preset Events
================================================================================
Name Code Avail Deriv Description (Note)
PAPI_L1_DCM 0x80000000 No No Level 1 data cache misses
PAPI_L1_ICM 0x80000001 No No Level 1 instruction cache misses
PAPI_L2_DCM 0x80000002 No No Level 2 data cache misses
PAPI_L2_ICM 0x80000003 No No Level 2 instruction cache misses
..........
Of 108 possible events, 0 are available, of which 0 are derived.
avail.c PASSED
如果我運行sudo papi_avail
我得到這個:
--------------------------------------------------------------------------------
Of 108 possible events, 50 are available, of which 17 are derived.
avail.c PASSED
在Ubuntu 16.04中發生了什么變化?
這和這里的答案有關。 從理論上講,執行sudo sysctl -w kernel.perf_event_paranoid=0
就足夠了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.