Почему для работы библиотеки PAPI мне нужно запустить приложение от имени пользователя root?

Я только что обновился до 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?

1 ответ

Это связано с ответом здесь. Теоретически, выполняя sudo sysctl -w kernel.perf_event_paranoid=0 должно быть достаточно.

Другие вопросы по тегам