ฉันใช้การทดสอบเดเบียนกับเคอร์เนล 4.1 และเวอร์ชัน 4.1 ของperf
เครื่องมือ ในรุ่นนี้ดูเหมือนว่าพวกเขาได้เพิ่มการป้องกันบางอย่างเพื่อป้องกันไม่ให้ผู้ใช้ปกติรวบรวมข้อมูลจากเครื่องมือนั้น ดังนั้นการทำงานperf
ในฐานะผู้ใช้ปกติจะให้ข้อผิดพลาดนี้:
perf stat ls
Error:
You may not have permission to collect stats.
Consider tweaking /proc/sys/kernel/perf_event_paranoid:
-1 - Not paranoid at all
0 - Disallow raw tracepoint access for unpriv
1 - Disallow cpu events for unpriv
2 - Disallow kernel profiling for unpriv
perf_event_paranoid
มี 3 ในการติดตั้งของฉัน น่าเสียดายที่ฉันไม่สามารถเปลี่ยนไฟล์ได้แม้จะเป็นรูท ฉันจะอนุญาตให้ผู้ใช้ของฉันใช้perf
โดยไม่มีสิทธิ์ sudo ได้อย่างไร
ฉันมีแอปพลิเคชันที่ฉันต้องการเปรียบเทียบซึ่งไม่จำเป็นต้องรูทและฉันไม่ต้องการเรียกใช้เป็นรูทเพื่อทำการเปรียบเทียบ
perf stat -e cycles:u
ทำงานหรือไม่perf_event_paranoid
เพิ่มค่า "3" ของในปี 2016 lwn.net/Articles/696216 "ไม่อนุญาต perf_event_open ()" และเปิดใช้งานใน "Android และ Debian" (เช่นlkml.org/lkml/2016/1/11/587 บัก .launchpad net / bugs / 1612790 debian.org/security/2017/dsa-3791 )