Я только что обновился до 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
должно быть достаточно.
Других решений пока нет …