Профайлдау

Жүйені қалай профайлдау керек

Sysprof жүйені профайлдаған кезде, ол орындалып жатқан барлық бағдарламалардың, соның ішінде Linux ядросының стек ақпаратын жазады. Егер сіз тек бір процесті көргіңіз келсе, бұл кейде түсініксіз болуы мүмкін. Егер бағдарламаңыз негізгі жүйемен көп әрекеттеспесе, Sysprof арқылы жаңа процесті іске қосуды пайдалану тиімдірек болуы мүмкін.

Бүкіл жүйені профайлдау үшін, нысана батырмасы Барлық процестер күйіне орнатылғанына көз жеткізіп, Жазу батырмасын шертіңіз.

Бұл кезеңде сізден жүйені профайлдауға авторизация сұралуы мүмкін. Бұл қажет, өйткені Linux ядросының perf іске асырылуы бүкіл жүйені профайлдау үшін root құқығын талап етеді.

Профайлдау сеансы кезінде сіз профайлдаудың қанша секунд белсенді болғанын көресіз. Жазу батырмасын қайта шерту профайлдау сеансын тоқтатады. Одан кейін шақырулар графы көрсетіледі.

Егер sysprof бағдарламасының өзі профайлдау графында пайда болса, профайлдау сеансын sysprof-cli арқылы жазуды қарастыруға болады. Бұл — кейіннен қарау үшін профайлдау сеансын дискіге сақтайтын командалық жол бағдарламасы.

Қосымша нұсқауларды нәтижелерді түсіндіру бөлімінен қараңыз.

Жаңа процесті профайлдау

Көбінесе профайлдау үшін жаңа процесті іске қосу қажет болуы мүмкін. Алдымен жазу терезесінің жоғарғы жағындағы Бағдарлама батырмасын таңдаңыз. Команданы және жұмыс бумасын толтырыңыз, қажет болса, кез келген орта айнымалыларын көрсетіңіз. Процесіңіз жазу басталғанда іске қосылады.

Егер сіз GTK+ бағдарламасы сияқты ағымдағы дисплейге қол жеткізуді талап ететін процесті іске қоссаңыз, Ағымдағы ортаны мұралау опциясы орнатылғанына көз жеткізіңіз.

sysprof-cli командалық жол сайманымен профайлдау

Жүйеге түсетін жүктемені азайту үшін sysprof-cli командалық жол сайманын пайдалануды қарастыруға болады. Оны ешқандай аргументсіз іске қоссаңыз, ол бүкіл жүйені жазып, нәтижені capture.syscap файлына сақтайды. Бұл файлды шақырулар графын көру үшін Sysprof бағдарламасымен ашуға болады.

Жаңа процесті іске қосқыңыз келсе, іске қосылатын команданы көрсету үшін sysprof-cli -- 'command' пайдаланыңыз. Команда ағымдағы ортаны мұралайды.

Нәтижелерді түсіндіру

Sysprof ішіндегі профайлдау нәтижелері үш бөлімге бөлінген. Жоғарғы сол жақта профайлдаудан өткен барлық функциялардың тізімі берілген. Олар жазу кезінде қаншалықты жиі шақырылғаны бойынша сұрыпталған.

Әр функцияға жұмсалған уақыт мөлшері жазылмайтынын ескеру маңызды. Оны дәл жазу үшін трассировкалаушы профайлер қажет болар еді. Пайыздық көрсеткіш сынама жазылған кезде сол функцияның ағымдағы стек ізінде қаншалықты жиі пайда болғанын анықтау арқылы есептеледі.

Функциялар тізімінен функцияны таңдағаннан кейін, сол функцияның барлық жазылған шақырушылары төменгі сол жақта көрсетіледі. Олар да сол функцияны стек ізіне қосқан сынамалардың пайызы бойынша сұрыпталған.

Оң жақта таңдалған функцияның барлық ұрпақтары орналасқан. Функцияны функциялар тізімінен немесе шақырушылар тізімінен таңдауға болады.

Егер нәтижелерде - - Context Switch - - жазуын көрсеңіз, бұл бағдарламаның Linux ядросына өткенін немесе одан шыққанын білдіреді. Бұған syscall немесе signal сияқты көптеген себептер болуы мүмкін.