WikiDer > Perf (Linux)
Ombor | https://github.com/torvalds/linux/tree/master/tools/perf |
---|---|
Yozilgan | C |
Operatsion tizim | Linux yadrosi |
Turi | Ishlash monitoringi va sinovi |
Litsenziya | GNU GPL |
Veb-sayt | mukammallik |
mukammallik (ba'zan chaqiriladi abdullaev[1] yoki mukammal vositalar, dastlab Linux uchun ishlash ko'rsatkichlari, PCL)[2] a ishlashni tahlil qilish vositasi Linux, mavjud Linux yadrosi 2.6.31 versiyasi 2009 yilda.[3] Foydalanuvchilar maydoni nomlangan dasturni boshqarish mukammallik
ga kirish mumkin buyruq satri va bir qator beradi pastki buyruqlar; u butun tizimning statistik profilini yaratishga qodir (ham yadro, ham foydalanuvchi kodi).
Bu qo'llab-quvvatlaydi apparatning ishlash ko'rsatkichlari, tracepoints, dasturiy ta'minotning ishlash ko'rsatkichlari (masalan, hrtimer) va dinamik zondlar (masalan, kprobes yoki uprobes).[4] 2012 yilda, ikkitasi IBM muhandislar mukammallikni tan oldilar (bilan birga OProfile) eng ko'p ishlatiladigan ikkitadan biri sifatida ishlash hisoblagichi Linuxda profil yaratish vositalari.[5]
Amalga oshirish
Perf yordam dasturi va yadro o'rtasidagi interfeys faqat bittadan iborat syscall va a orqali amalga oshiriladi fayl tavsiflovchi va xaritalangan xotira mintaqasi.[6] Aksincha LTTng yoki eski versiyalari oprofil, xizmat yo'q xizmatkorlar kerak, chunki ko'pgina funktsiyalar yadroga birlashtirilgan. Perfel dasturi bufer to'ldirilgandan so'ng xaritalangan buferdan diskka xom ma'lumotlarni tashlaydi. R. Vitilloga ko'ra (LBNL) tomonidan takomillashtirilgan profillash juda past xarajatlarni o'z ichiga oladi.[6]
2010 yildan boshlab[yangilash], apparat hisoblagichlarini qo'llab-quvvatlovchi arxitekturalar kiradi x86, PowerPC64, UltraSPARC (III va IV), ARM (v5, v6, v7, Cortex-A8 va -A9), Alfa EV56 va SuperH.[4] Oxirgi filial yozuvlaridan foydalanish,[7] a filialni kuzatish amalga oshirish Intel O'shandan beri protsessorlar Pentium 4, yamoq sifatida mavjud.[6] 3.14 versiyasidan beri Linux yadrosi magistral liniyasi, 2014 yil 31 martda chiqarilgan, perf ham qo'llab-quvvatlaydi o'rtacha quvvat chegarasi ishlaydi (RAPL) ma'lum Intel protsessorlarining xususiyati sifatida mavjud bo'lgan quvvat sarfini o'lchash uchun.[8][9][10]
Perf ko'plab mashhur Linux tarqatishlarida, shu jumladan, qo'llab-quvvatlanadi Red Hat Enterprise Linux (2010 yilda chiqarilgan 6-versiyasidan beri)[11] va Debian linux-tools-umumiy paketida (undan beri Siqish versiyasi 2011 yilda chiqarilgan).[12]
Subkommands
perf bir nechta kichik buyruqlar bilan ishlatiladi:
- stat: bir dastur yoki bir muncha vaqt uchun tizim uchun voqealar sonini o'lchash
- yuqori: yuqori- eng issiq funktsiyalarning dinamik ko'rinishi kabi
- yozuv: bitta dastur uchun namuna olish ma'lumotlarini o'lchash va saqlash[13]
- hisobot: perf record tomonidan yaratilgan faylni tahlil qilish; tekis yoki grafika profilini yaratishi mumkin.[13]
- izoh: izohli manbalar yoki yig'ilish
- jadval: rejalashtiruvchi harakatlar va kechikishlarni kuzatish / o'lchash[14]
- ro'yxat: mavjud voqealar ro'yxati
Tanqid
Perf hujjatlari juda batafsil bayon qilinmagan (2014 yil holatiga ko'ra); masalan, u aksariyat voqealarni hujjatlashtirmaydi yoki ularning taxalluslarini tushuntirmaydi (ko'pincha tashqi vositalar voqealar nomlari va kodlarini olish uchun ishlatiladi)[15]).[16] Perf vositalari, shuningdek, haqiqiy devor soati vaqtiga qarab profilni yaratolmaydilar.[16]
Xavfsizlik
2.6.37 dan 3.8.8 gacha bo'lgan Linux yadrolari va RHEL6 yadrolari 2.6.32 ning mukammal kichik tizimida xavfsizlik zaifligi mavjud edi (CVE-2013-2094), mahalliy foydalanuvchi tomonidan root imtiyozlarini olish uchun foydalanilgan.[17][18] Muammo event_id tasdiqlash kodi yo'lida noto'g'ri turdagi ishlatilganligi sababli (64-bit o'rniga 32-bitli int).[19]
Shuningdek qarang
- Ishlashni tahlil qilish vositalari ro'yxati
- OProfile
- Ishlashni qo'llash dasturlash interfeysi
- Profillashtirish (kompyuter dasturlari)
Adabiyotlar
- ^ Vins Uaver, Norasmiy Linux Perf Events veb-sahifasi
- ^ Linux perf hodisasi xususiyatlari va qo'shimcha xarajatlar // 2013 yil FastPath ustaxonasi, Vins Uayver
- ^ Jeyk Edj, Perfcounters asosiy yo'nalishga qo'shildi, LWN, 2009 yil 1-iyul, "yaqinda tugallangan 2.6.31 birlashma oynasi davomida asosiy yo'nalishga mukammal hisoblagichlar kiritilgan"
- ^ a b Arnaldo Karvalyu de Melo, Yangi Linuxning "mukammal" vositalari, Linux Kongress taqdimoti, sentyabr, 2010 yil
- ^ A. Zanella, R. Arnold. POWER-da Linux uchun ishlashni baholang. Linux vositalari yordamida ishlashni tahlil qilish, 12 iyun 2012 // IBM DeveloperWorks Texnik kutubxonasi
- ^ a b v Roberto A. Vitillo (LBNL). FOYDALANISh QURILMALARINI RIVOJLANISH2011 yil 16 iyun, "Zarralar fizikasida kelajakdagi hisoblash" konferentsiyasidan taqdimot
- ^ Intel® 64 va IA-32 Architectures Software Developer uchun qo'llanma 3B jild: tizimni dasturlash bo'yicha qo'llanma, 2-qism. Intel. Iyun 2009. p. 19-2 jild 3.
- ^ Jeyk Edj (2014-04-09). "Ko'plab mukammal xususiyatlar". LWN.net. Olingan 2014-04-22.
- ^ Jeykob Pan (2013-04-02). "RAPL (ishlaydigan o'rtacha quvvat cheklovi) drayveri". LWN.net. Olingan 2014-04-22.
- ^ "kernel / git / torvalds / linux.git - Linux yadrosi manba daraxti". Git.kernel.org. 2014-01-20. Olingan 2014-03-31.
- ^ 6.4. Linux uchun ishlash hisoblagichlari (PCL) Asboblar va mukammallik // RHEL ishlab chiquvchilari uchun qo'llanma
- ^ "Debian - Linux-vositalari to'plamining tafsilotlari-2.6.32 siqilgan holda". Packages.debian.org. Olingan 2014-03-31.
- ^ a b Urs Fässlermukammal fayl formati Arxivlandi 2012-12-14 da Orqaga qaytish mashinasi, CERN OpenLab, 2011
- ^ Ingo Molnar, 'mukammal rejalashtirish': rejalashtiruvchining kechikishi va o'zini tutish, o'lchash va tahlil qilish uchun yordamchi dastur, 2009 yil 17 sentyabr
- ^ CPU ishlashi bilan bog'liq voqealarning to'liq spektrini qanday nazorat qilish kerak // Boyan Nikolich, 2012 yil
- ^ a b Robert Xaas (PostgreSQL), mukammal: yaxshi, yomon, chirkin // 2012 yil 6-iyun
- ^ Maykl Larabel (2013-05-15). "Yangi Linux yadrosi zaifligi ekspluatatsiya qilindi". Froniks.
- ^ korbet (2013-05-15). "Yadroda mahalliy ildiz zaifligi". LWN.
- ^ Djo Damato (2013-05-20). "Linuxda (CVE-2013-2094) yaqinda berilgan imtiyozlar eskalatsiyasi xatosini batafsil ko'rib chiqish".
Tashqi havolalar
- perfning viki-si kuni kernel.org
- Arnaldo Karvalyu de Melo, Yangi Linuxning "mukammal" vositalari, Linux Kongress taqdimoti, sentyabr, 2010 yil
- Linux yadrosi bilan mukammallik o'quv qo'llanma
- Uskuna PMU-ni qo'llab-quvvatlash jadvallari - perf_event ustunini tekshiring
- mukammal misollar Brendan Gregg tomonidan