<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="profiling" xml:lang="kk">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Профайлдау</title>
  <section id="system-profiling">
    <title>Жүйені қалай профайлдау керек</title>
    <p><app>Sysprof</app> жүйені профайлдаған кезде, ол орындалып жатқан барлық бағдарламалардың, соның ішінде Linux ядросының стек ақпаратын жазады. Егер сіз тек бір процесті көргіңіз келсе, бұл кейде түсініксіз болуы мүмкін. Егер бағдарламаңыз негізгі жүйемен көп әрекеттеспесе, <app>Sysprof</app> арқылы <link href="profiling#new-process-profiling">жаңа процесті іске қосуды</link> пайдалану тиімдірек болуы мүмкін.</p>

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

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

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

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

    <p>Қосымша нұсқауларды <link href="profiling#interpreting-results">нәтижелерді түсіндіру</link> бөлімінен қараңыз.</p>

  </section>

  <section id="new-process-profiling">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Жаңа процесті профайлдау</title>

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

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

  </section>

  <section id="sysprof-cli">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>sysprof-cli командалық жол сайманымен профайлдау</title>

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

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

  </section>

  <section id="interpreting-results">
    <info>
      <link type="guide" xref="index#profiling"/>
    </info>
    <title>Нәтижелерді түсіндіру</title>

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

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

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

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

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

  </section>

</page>
