簡體   English   中英

為什么我需要以根目錄運行應用程序才能使PAPI庫正常工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM