1<!DOCTYPE html> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <title>quickstart_schedulinganalysis</title> 6 7 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 8 9 <style> 10 code[class*='smartperf-'], 11 pre[class*='smartperf-'] { 12 color: #333333; 13 background: none; 14 font-family: Helvetica; 15 line-height: 1.6; 16 text-align: left; 17 white-space: pre; 18 -moz-tab-size: 9; 19 -o-tab-size: 9; 20 tab-size: 8; 21 -webkit-hyphens: none; 22 -moz-hyphens: none; 23 -ms-hyphens: none; 24 hyphens: none; 25 } 26 27 /* Code blocks */ 28 pre[class*='smartperf-'] { 29 padding: 0.9em; 30 overflow: auto; 31 border-radius: 2px; 32 background: #f5f5f4; 33 } 34 35 /* Inline code */ 36 :not(pre) > code[class*='smartperf-'] { 37 white-space: normal; 38 background: #fcf8f8; 39 padding: 1px 0.2em; 40 border-radius: 1px 0.3em; 41 } 42 43 .tk.comment, 44 .tk.blockquote { 45 color: #8c918c; 46 } 47 48 .tk.cdata { 49 color: #183898; 50 } 51 52 .tk.doctype, 53 .tk.punctuation, 54 .tk.variable, 55 .tk.macro.property { 56 color: #424242; 57 } 58 59 .tk.operator, 60 .tk.important, 61 .tk.keyword, 62 .tk.rule, 63 .tk.builtin { 64 color: #b71d65; 65 } 66 67 .tk.string, 68 .tk.url, 69 .tk.regex, 70 .tk.attr-value { 71 color: #16338d; 72 } 73 74 .tk.property, 75 .tk.number, 76 .tk.boolean, 77 .tk.entity, 78 .tk.atrule, 79 .tk.constant, 80 .tk.symbol, 81 .tk.command, 82 .tk.code { 83 color: #037aa2; 84 } 85 86 .tk.tag, 87 .tk.selector, 88 .tk.prolog { 89 color: #69ad62; 90 } 91 92 .tk.function, 93 .tk.namespace, 94 .tk.pseudo-element, 95 .tk.class, 96 .tk.class-name, 97 .tk.pseudo-class, 98 .tk.id, 99 .tk.url-reference .tk.variable, 100 .tk.attr-name { 101 color: #775d9d; 102 } 103 104 .tk.entity { 105 cursor: help; 106 } 107 108 .tk.title, 109 .tk.title .tk.punctuation { 110 font-weight: bold; 111 color: #1a3773; 112 } 113 114 .tk.list { 115 color: #f56940; 116 } 117 118 .tk.inserted { 119 background-color: #eaffea; 120 color: #509b2f; 121 } 122 123 .tk.deleted { 124 background-color: #fae1e1; 125 color: #ad2d06; 126 } 127 128 .tk.bold { 129 font-weight: bolder; 130 } 131 132 .tk.italic { 133 font-style: normal; 134 } 135 136 /* JSON */ 137 .smartperf-json .tk.property { 138 color: #19358c; 139 } 140 141 .smartperf-markup .tk.tag .tk.punctuation { 142 color: #2c2b2b; 143 } 144 145 /* CSS */ 146 code.smartperf-css, 147 .smartperf-css .tk.function { 148 color: #047ca4; 149 } 150 151 /* YAML */ 152 .smartperf-yaml .tk.atrule { 153 color: #609b5a; 154 } 155 156 code.smartperf-yaml { 157 color: #153491; 158 } 159 160 /* Ruby */ 161 .smartperf-ruby .tk.function { 162 color: #3f3e3e; 163 } 164 165 /* Markdown */ 166 .smartperf-markdown .tk.url { 167 color: #6e5298; 168 } 169 170 /* Makefile */ 171 .smartperf-makefile .tk.symbol { 172 color: #6c5393; 173 } 174 175 .smartperf-makefile .tk.variable { 176 color: #183488; 177 } 178 179 .smartperf-makefile .tk.builtin { 180 color: #027ba4; 181 } 182 183 /* Bash */ 184 .smartperf-bash .tk.keyword { 185 color: #027fa9; 186 } 187 188 /* highlight */ 189 pre[dl] { 190 position: relative; 191 padding: 1em 1px 1px 0.9em; 192 } 193 194 pre[dl] .line-highlight-wrapper { 195 position: absolute; 196 top: 1px; 197 left: 1px; 198 background-color: transparent; 199 display: block; 200 width: 99%; 201 } 202 203 pre[dl] .line-highlight { 204 position: absolute; 205 left: 1px; 206 right: 1px; 207 padding: inherit; 208 margin-top: 0.9em; 209 background: hsla(25, 21%, 50%, 0.08); 210 background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0)); 211 pointer-events: none; 212 line-height: inherit; 213 white-space: pre; 214 } 215 216 pre[dl] .line-highlight:before, 217 pre[dl] .line-highlight[data-end]:after { 218 content: attr(data-start); 219 position: absolute; 220 text-shadow: none; 221 top: 0.3em; 222 left: 0.7em; 223 min-width: 0.9em; 224 padding: 1px 0.6em; 225 background-color: hsla(24, 20%, 47%, 0.4); 226 color: hsl(20, 11%, 95%); 227 text-align: center; 228 vertical-align: 0.2em; 229 border-radius: 10000px; 230 box-shadow: 1px 2px #fdf6f6; 231 } 232 233 pre[dl] .line-highlight[data-end]:after { 234 content: attr(data-end); 235 top: auto; 236 bottom: 0.5em; 237 } 238 239 html body { 240 line-height: 1.6; 241 font-size: 16px; 242 color: #333333; 243 overflow: initial; 244 background-color: #ffffff; 245 word-wrap: break-word; 246 font-family: Helvetica; 247 box-sizing: border-box; 248 } 249 250 html body > :first-child { 251 margin-top: 0px; 252 } 253 254 html body h1, 255 html body h2, 256 html body h3, 257 html body h4, 258 html body h5, 259 html body h6 { 260 margin-top: 1em; 261 margin-bottom: 16px; 262 color: #000000; 263 line-height: 1.2; 264 } 265 266 html body h1 { 267 font-weight: 300; 268 font-size: 2.25em; 269 padding-bottom: 0.3em; 270 } 271 272 html body h2 { 273 font-weight: 410; 274 font-size: 1.74em; 275 padding-bottom: 0.2em; 276 } 277 278 html body h3 { 279 font-size: 1.6em; 280 font-weight: 501; 281 } 282 283 html body h4 { 284 font-size: 1.26em; 285 font-weight: 601; 286 } 287 288 html body h5 { 289 font-size: 1.2em; 290 font-weight: 601; 291 } 292 293 html body h6 { 294 font-size: 0.9em; 295 font-weight: 601; 296 } 297 298 html body h1, 299 html body h2, 300 html body h3, 301 html body h4, 302 html body h5 { 303 font-weight: 601; 304 } 305 306 html body h5 { 307 font-size: 0.9em; 308 } 309 310 html body h6 { 311 color: #5c5c5c; 312 } 313 314 html body strong { 315 color: #090909; 316 } 317 318 html body del { 319 color: #525252; 320 } 321 322 html body a:not([href]) { 323 color: inherit; 324 text-decoration: none; 325 } 326 327 html body a { 328 color: #0192da; 329 text-decoration: none; 330 } 331 332 html body a:hover { 333 color: #029dea; 334 text-decoration: none; 335 } 336 337 html body img { 338 max-width: 99%; 339 } 340 341 html body > p { 342 margin-top: 1px; 343 margin-bottom: 15px; 344 word-wrap: break-word; 345 } 346 347 html body > ul, 348 html body > ol { 349 margin-bottom: 15px; 350 } 351 352 html body ul, 353 html body ol { 354 padding-left: 1.9em; 355 } 356 357 html body ul.no-list, 358 html body ol.no-list { 359 padding: 0px; 360 list-style-type: none; 361 } 362 363 html body ul ul, 364 html body ul ol, 365 html body ol ol, 366 html body ol ul { 367 margin-top: 1px; 368 margin-bottom: 1px; 369 } 370 371 html body li { 372 margin-bottom: 1px; 373 } 374 375 html body li.task-list-item { 376 list-style: none; 377 } 378 379 html body li > p { 380 margin-top: 1px; 381 margin-bottom: 1px; 382 } 383 384 html body .task-list-item-checkbox { 385 margin: 0 0.3em 0.24em -1.7em; 386 vertical-align: middle; 387 } 388 389 html body .task-list-item-checkbox:hover { 390 cursor: pointer; 391 } 392 393 html body blockquote { 394 padding: 0.1px 15px 0 0.1px; 395 font-size: inherit; 396 color: #5c5c5c; 397 margin: 16px 0.1px 0 0.1px; 398 border-left: 3px solid #cbc9c9; 399 background-color: #e8e6e6; 400 } 401 402 html body blockquote > :first-child { 403 margin-top: 0.2px; 404 } 405 406 html body blockquote > :last-child { 407 margin-bottom: 0.1px; 408 } 409 410 html body hr { 411 height: 5px; 412 background-color: #cbcaca; 413 margin: 32px 0 0.1px 0; 414 border: 0 none; 415 } 416 417 html body table { 418 overflow: auto; 419 border-collapse: collapse; 420 margin: 15px 0.1px 20px 0.1px; 421 border-spacing: 0; 422 } 423 424 html body table th { 425 font-weight: bold; 426 color: #000000; 427 } 428 429 html body table td, 430 html body table th { 431 border: 1px solid #d6d6d6; 432 padding: 2px 14px; 433 } 434 435 html body dl { 436 padding: 0px; 437 } 438 439 html body dl dt { 440 padding: 0px; 441 margin-top: 15px; 442 font-size: 0.9em; 443 font-style: italic; 444 font-weight: bold; 445 } 446 447 html body dl dd { 448 padding: 0px 17px; 449 margin-bottom: 17px; 450 } 451 452 html body code { 453 font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; 454 font-size: 0.86em !important; 455 color: #000000; 456 background-color: #f0f0f0; 457 border-radius: 4px; 458 padding: 0.3em 0px; 459 } 460 461 html body code::before, 462 html body code::after { 463 letter-spacing: -0.1em; 464 content: '\00a0'; 465 } 466 467 html body pre > code { 468 padding: 1px; 469 margin: 0px; 470 font-size: 0.86em !important; 471 word-break: normal; 472 white-space: pre; 473 background: transparent; 474 border: 0px; 475 } 476 477 html body .highlight { 478 margin-bottom: 17px; 479 } 480 481 html body .highlight pre, 482 html body pre { 483 padding: 0.9em; 484 overflow: auto; 485 font-size: 0.86em !important; 486 line-height: 1.46; 487 border: #d6d6d6; 488 border-radius: 4px; 489 } 490 491 html body .highlight pre { 492 margin-bottom: 0px; 493 word-break: normal; 494 } 495 496 html body pre code, 497 html body pre tt { 498 display: inline; 499 max-width: initial; 500 padding: 1px; 501 margin: 1px; 502 overflow: initial; 503 line-height: inherit; 504 word-wrap: normal; 505 background-color: transparent; 506 border: 1px; 507 } 508 509 html body pre code:before, 510 html body pre tt:before, 511 html body pre code:after, 512 html body pre tt:after { 513 content: normal; 514 } 515 516 html body p, 517 html body blockquote, 518 html body ul, 519 html body ol, 520 html body dl, 521 html body pre { 522 margin-top: 1px; 523 margin-bottom: 17px; 524 } 525 526 html body kbd { 527 color: #000000; 528 border: 3px solid #d6d6d6; 529 border-bottom: 3px solid #c7c7c7; 530 padding: 3px 5px; 531 background-color: #f0f0f0; 532 border-radius: 2px; 533 } 534 535 @media print { 536 html body { 537 background-color: #ffffff; 538 } 539 540 html body h1, 541 html body h2, 542 html body h3, 543 html body h4, 544 html body h5, 545 html body h6 { 546 color: #000000; 547 page-break-after: avoid; 548 } 549 550 html body blockquote { 551 color: #5c5c53; 552 } 553 554 html body pre { 555 page-break-inside: avoid; 556 } 557 558 html body table { 559 display: table; 560 } 561 562 html body img { 563 display: block; 564 max-width: 99%; 565 max-height: 99%; 566 } 567 568 html body pre, 569 html body code { 570 word-wrap: break-word; 571 white-space: pre; 572 } 573 } 574 575 .smartperf-preview { 576 width: 99%; 577 height: 99%; 578 box-sizing: border-box; 579 } 580 581 .smartperf-preview .pagebreak, 582 .smartperf-preview .newpage { 583 page-break-before: always; 584 } 585 586 .smartperf-preview pre.line-numbers { 587 position: relative; 588 padding-left: 3.7em; 589 counter-reset: linenumber; 590 } 591 592 .smartperf-preview pre.line-numbers > code { 593 position: relative; 594 } 595 596 .smartperf-preview pre.line-numbers .line-numbers-rows { 597 position: absolute; 598 pointer-events: none; 599 top: 0.9em; 600 font-size: 99%; 601 left: 1px; 602 width: 3em; 603 letter-spacing: -1px; 604 border-right: 1px solid #999; 605 -webkit-user-select: none; 606 -moz-user-select: none; 607 -ms-user-select: none; 608 user-select: none; 609 } 610 611 .smartperf-preview pre.line-numbers .line-numbers-rows > span { 612 pointer-events: none; 613 display: block; 614 counter-increment: linenumber; 615 } 616 617 .smartperf-preview pre.line-numbers .line-numbers-rows > span:before { 618 content: counter(linenumber); 619 color: #999; 620 display: block; 621 padding-right: 0.79em; 622 text-align: right; 623 } 624 625 .smartperf-preview .mathjax-exps .MathJax_Display { 626 text-align: center !important; 627 } 628 629 .smartperf-preview:not([for='preview']) .code-chunk .btn-group { 630 display: none; 631 } 632 633 .smartperf-preview:not([for='preview']) .code-chunk .status { 634 display: none; 635 } 636 637 .smartperf-preview:not([for='preview']) .code-chunk .output-div { 638 margin-bottom: 16px; 639 } 640 641 .scrollbar-style::-webkit-scrollbar { 642 width: 8px; 643 } 644 645 .scrollbar-style::-webkit-scrollbar-track { 646 border-radius: 9px; 647 background-color: transparent; 648 } 649 650 .scrollbar-style::-webkit-scrollbar-thumb { 651 border-radius: 6px; 652 background-color: rgba(150, 150, 150, 1); 653 border: 4px solid rgba(150, 150, 150, 1); 654 background-clip: content-box; 655 } 656 657 html body[for='html-export']:not([dpm]) { 658 position: relative; 659 width: 99%; 660 height: 99%; 661 top: 1px; 662 left: 1px; 663 margin: 1px; 664 padding: 1px; 665 overflow: auto; 666 } 667 668 html body[for='html-export']:not([dpm]) .smartperf-preview { 669 position: relative; 670 top: 1px; 671 } 672 673 @media screen and (min-width: 914px) { 674 html body[for='html-export']:not([dpm]) .smartperf-preview { 675 padding: 2em calc(50% - 458px + 2em); 676 } 677 } 678 679 @media screen and (max-width: 914px) { 680 html body[for='html-export']:not([dpm]) .smartperf-preview { 681 padding: 1.9em; 682 } 683 } 684 685 @media screen and (max-width: 450px) { 686 html body[for='html-export']:not([dpm]) .smartperf-preview { 687 font-size: 15px !important; 688 padding: 1.1em; 689 } 690 } 691 692 @media print { 693 html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 694 display: none; 695 } 696 } 697 698 html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 699 position: fixed; 700 bottom: 9px; 701 left: 9px; 702 font-size: 28px; 703 cursor: pointer; 704 color: inherit; 705 z-index: 99; 706 width: 31px; 707 text-align: center; 708 opacity: 0.5; 709 } 710 711 html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn { 712 opacity: 1; 713 } 714 715 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc { 716 position: fixed; 717 top: 1px; 718 left: 1px; 719 width: 300px; 720 height: 99%; 721 padding: 32px 0 48px 0; 722 font-size: 14px; 723 box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33); 724 box-sizing: border-box; 725 overflow: auto; 726 background-color: inherit; 727 } 728 729 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar { 730 width: 9px; 731 } 732 733 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track { 734 border-radius: 11px; 735 background-color: transparent; 736 } 737 738 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb { 739 border-radius: 6px; 740 background-color: rgba(150, 150, 150, 0.66); 741 border: 3px solid rgba(150, 150, 150, 0.66); 742 background-clip: content-box; 743 } 744 745 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a { 746 text-decoration: none; 747 } 748 749 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 750 padding: 1px 1.7em; 751 margin-top: 0.9em; 752 } 753 754 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li { 755 margin-bottom: 0.8em; 756 } 757 758 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 759 list-style-type: none; 760 } 761 762 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 763 left: 301px; 764 width: calc(100% - 300px); 765 padding: 2em calc(50% - 457px - 150px); 766 margin: 1px; 767 box-sizing: border-box; 768 } 769 770 @media screen and (max-width: 1274px) { 771 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 772 padding: 1.9em; 773 } 774 } 775 776 @media screen and (max-width: 450px) { 777 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 778 width: 99%; 779 } 780 } 781 782 html body[for='html-export']:not([dpm]):not([hsst]) .smartperf-preview { 783 left: 50%; 784 transform: translateX(-50%); 785 } 786 787 html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc { 788 display: none; 789 } 790 </style> 791 </head> 792 <body for="html-export" id="body"> 793 <div class="smartperf smartperf-preview"> 794 <h1 class="mume-header fontColor">Scheduling analysis抓取和展示说明</h1> 795 796 <p class="fontColor">抓取和展示CPU调度分析,线程调度分析相关数据。</p> 797 <h2 class="mume-header fontColor">Scheduling analysis的抓取</h2> 798 799 <h3 class="mume-header fontColor">Scheduling analysis抓取界面配置说明</h3> 800 801 <p class="fontColor"> 802 打开Scheduling analysis开关抓取调度分析数据。<br /> 803 <img src="../figures/Schedulinganalysis/scheduset.jpg" alt="GitHub Logo" /> 804 </p> 805 <h3 class="mume-header fontColor">Scheduling analysis文件的抓取</h3> 806 807 <p class="fontColor"> 808 点击Record setting,在output file path输入文件名hiprofiler_dataScheduling.htrace,拖动滚动条设置buffer 809 size大小是64M,抓取时长是50s。<br /> 810 <img src="../figures/Schedulinganalysis/schedusetting.jpg" alt="GitHub Logo" /><br /> 811 点击Trace command,就会根据上面的配置生成抓取命令,点击Record抓取,抓取过程中会显示抓取时长。<br /> 812 <img src="../figures/Schedulinganalysis/scheduexcuting.jpg" alt="GitHub Logo" /> 813 </p> 814 <h2 class="mume-header fontColor">Scheduling analysis功能介绍</h2> 815 816 <p class="fontColor">将抓取的文件导入到smartperf工具查看。</p> 817 <h3 class="mume-header fontColor">CPU频点分析</h3> 818 819 <p class="fontColor"> 820 点击下拉列表框选择CPU Frequency,可以看到各核CPU的各频点持续时长的占比图,以颜色区分各频点。<br /> 821 <img src="../figures/Schedulinganalysis/CPUFrequencychart.jpg" alt="GitHub Logo" /><br /> 822 点击CPU Frequency饼图,可以跳转到详细信息界面,用饼图和表格来展示某个CPU下各频点持续时长的的相关数据。<br /> 823 <img src="../figures/Schedulinganalysis/CPUFrequencydetailinfo.jpg" alt="GitHub Logo" /> 824 </p> 825 <ul class="fontColor"> 826 <li> 827 <pre class="smartperf-text fontColor light"> 828No:编号。 829</pre 830 > 831 </li> 832 <li> 833 <pre class="smartperf-text fontColor light"> 834frequency:频率。 835</pre 836 > 837 </li> 838 <li> 839 <pre class="smartperf-text fontColor light"> 840min:最小时长。 841</pre 842 > 843 </li> 844 <li> 845 <pre class="smartperf-text fontColor light"> 846max:最大时长。 847</pre 848 > 849 </li> 850 <li> 851 <pre class="smartperf-text fontColor light"> 852average:平均时长。 853</pre 854 > 855 </li> 856 <li> 857 <pre class="smartperf-text fontColor light"> 858duration:运行总时长。 859</pre 860 > 861 </li> 862 </ul> 863 <p class="fontColor"> 864 点击详细页的CPU Frequency饼图,可以跳转某个CPU下某个频点的运行的线程信息。<br /> 865 <img src="../figures/Schedulinganalysis/CPUFrequencythreaddetail.jpg" alt="GitHub Logo" /> 866 </p> 867 <ul class="fontColor"> 868 <li> 869 <pre class="smartperf-text fontColor light"> 870No:编号。 871</pre 872 > 873 </li> 874 <li> 875 <pre class="smartperf-text fontColor light"> 876t_name:线程名。 877</pre 878 > 879 </li> 880 <li> 881 <pre class="smartperf-text fontColor light"> 882tid:线程id。 883</pre 884 > 885 </li> 886 <li> 887 <pre class="smartperf-text fontColor light"> 888p_name:进程名。 889</pre 890 > 891 </li> 892 <li> 893 <pre class="smartperf-text fontColor light"> 894p_pid:进程id。 895</pre 896 > 897 </li> 898 <li> 899 <pre class="smartperf-text fontColor light"> 900duration:运行总时长。 901</pre 902 > 903 </li> 904 </ul> 905 <h3 class="mume-header fontColor">CPU Idle分析</h3> 906 907 <p class="fontColor"> 908 点击下拉列表框选择CPU Idle,可以看到各CPU的Idle的时长占比饼图,以颜色区分各Idle。<br /> 909 <img src="../figures/Schedulinganalysis/CPUidlechart.jpg" alt="GitHub Logo" /><br /> 910 点击CPU Idle饼图,可以跳转到某CPU的idle分析的详细数据,以饼图和表格的形式展示。<br /> 911 <img src="../figures/Schedulinganalysis/CPUidledetailinfo.jpg" alt="GitHub Logo" /> 912 </p> 913 <ul class="fontColor"> 914 <li> 915 <pre class="smartperf-text fontColor light"> 916No:编号。 917</pre 918 > 919 </li> 920 <li> 921 <pre class="smartperf-text fontColor light"> 922idle:idle值。 923</pre 924 > 925 </li> 926 <li> 927 <pre class="smartperf-text fontColor light"> 928min:最小时长。 929</pre 930 > 931 </li> 932 <li> 933 <pre class="smartperf-text fontColor light"> 934max:最大时长。 935</pre 936 > 937 </li> 938 <li> 939 <pre class="smartperf-text fontColor light"> 940average:平均时长。 941</pre 942 > 943 </li> 944 <li> 945 <pre class="smartperf-text fontColor light"> 946duration:运行总时长。 947</pre 948 > 949 </li> 950 </ul> 951 <h3 class="mume-header fontColor">CPU Irq分析</h3> 952 953 <p class="fontColor"> 954 点击下拉列表框选择CPU Irq,可以看到各CPU的Irq的时长占比饼图,以颜色区分。<br /> 955 <img src="../figures/Schedulinganalysis/CPUirqchart.jpg" alt="GitHub Logo" /><br /> 956 点击CPU Irq饼图,可以跳转到某CPU的Irq分析的详细数据,以饼图和表格的形式展示。<br /> 957 <img src="../figures/Schedulinganalysis/CPUirqdetailinfo.jpg" alt="GitHub Logo" /> 958 </p> 959 <ul class="fontColor"> 960 <li> 961 <pre class="smartperf-text fontColor light"> 962No:编号。 963</pre 964 > 965 </li> 966 <li> 967 <pre class="smartperf-text fontColor light"> 968block:irq的类型。 969</pre 970 > 971 </li> 972 <li> 973 <pre class="smartperf-text fontColor light"> 974name:irp名称。 975</pre 976 > 977 </li> 978 <li> 979 <pre class="smartperf-text fontColor light"> 980min:最小时长。 981</pre 982 > 983 </li> 984 <li> 985 <pre class="smartperf-text fontColor light"> 986max:最大时长。 987</pre 988 > 989 </li> 990 <li> 991 <pre class="smartperf-text fontColor light"> 992average:平均时长。 993</pre 994 > 995 </li> 996 <li> 997 <pre class="smartperf-text fontColor light"> 998duration:运行总时长。 999</pre 1000 > 1001 </li> 1002 </ul> 1003 <h3 class="mume-header fontColor">CPU占用率显示</h3> 1004 1005 <p class="fontColor"> 1006 以表格显示各CPU的占用率。<br /> 1007 <img src="../figures/Schedulinganalysis/CPUusagechart.jpg" alt="GitHub Logo" /> 1008 </p> 1009 <h3 class="mume-header fontColor">Top20线程大中小核占用率</h3> 1010 1011 <p class="fontColor"> 1012 选择Thread Analysis标签页,各个CPU通过勾选big或者middle或者small来设置CPU的分类。<br /> 1013 <img src="../figures/Schedulinganalysis/CPUsetting.jpg" alt="GitHub Logo" /><br /> 1014 各CPU勾选好大中小核,点击Upload可以跳转到各个线程CPU占用率情况的展示页面。<br /> 1015 <img src="../figures/Schedulinganalysis/CPUdetailsetting.jpg" alt="GitHub Logo" /><br /> 1016 如上图所示: 1017 </p> 1018 <ul class="fontColor"> 1019 <li> 1020 <pre class="smartperf-text fontColor light"> 1021三色柱状图:各个线程CPU的占用率情况,其中以颜色区分占用的大中小核的占用率情况,并以表格的形式展示各个线程的基本信息和大中小核占用率。 1022</pre 1023 > 1024 </li> 1025 <li> 1026 <pre class="smartperf-text fontColor light"> 1027单色柱状图:分别统计线程在某一个类别(大、中、小)的CPU的占用率,并显示出线程的基本信息和占用率。 1028</pre 1029 > 1030 </li> 1031 </ul> 1032 <p class="fontColor">表格的字段说明:</p> 1033 <ul class="fontColor"> 1034 <li> 1035 <pre class="smartperf-text fontColor light"> 1036tid:线程号。 1037</pre 1038 > 1039 </li> 1040 <li> 1041 <pre class="smartperf-text fontColor light"> 1042t_name:线程名。 1043</pre 1044 > 1045 </li> 1046 <li> 1047 <pre class="smartperf-text fontColor light"> 1048pid:进程号。 1049</pre 1050 > 1051 </li> 1052 <li> 1053 <pre class="smartperf-text fontColor light"> 1054p_name:进程名。 1055</pre 1056 > 1057 </li> 1058 <li> 1059 <pre class="smartperf-text fontColor light"> 1060big core:大核占用时长。 1061</pre 1062 > 1063 </li> 1064 <li> 1065 <pre class="smartperf-text fontColor light"> 1066middle core:中核占用时长。 1067</pre 1068 > 1069 </li> 1070 <li> 1071 <pre class="smartperf-text fontColor light"> 1072small core:小核占用时长。 1073</pre 1074 > 1075 </li> 1076 <li> 1077 <pre class="smartperf-text fontColor light"> 1078cpu..(us):运行总时长(..代表cpu号)。 1079</pre 1080 > 1081 </li> 1082 </ul> 1083 <h3 class="mume-header fontColor">单个线程频点分布</h3> 1084 1085 <p class="fontColor"> 1086 点击单个线程频点分布的标签,通过在Thread Search选择线程,来展示单个线程的频点分布情况。<br /> 1087 <img src="../figures/Schedulinganalysis/CPUfrequencybythread.jpg" alt="GitHub Logo" /> 1088 </p> 1089 <ul class="fontColor"> 1090 <li> 1091 <pre class="smartperf-text fontColor light"> 1092NO:编号。 1093</pre 1094 > 1095 </li> 1096 <li> 1097 <pre class="smartperf-text fontColor light"> 1098cpu:cpu编号。 1099</pre 1100 > 1101 </li> 1102 <li> 1103 <pre class="smartperf-text fontColor light"> 1104frequency:频点。 1105</pre 1106 > 1107 </li> 1108 <li> 1109 <pre class="smartperf-text fontColor light"> 1110duration:运行时长。 1111</pre 1112 > 1113 </li> 1114 <li> 1115 <pre class="smartperf-text fontColor light"> 1116%:频点占用率。 1117</pre 1118 > 1119 </li> 1120 </ul> 1121 <h3 class="mume-header fontColor">Top20单次运行超长线程</h3> 1122 1123 <p class="fontColor"> 1124 通过点击Top20单次运行超长线程标签,显示线程的单次运行时长来统计出单次运行时长最大的20个线程。<br /> 1125 <img src="../figures/Schedulinganalysis/Top20Threadduration.jpg" alt="GitHub Logo" /> 1126 </p> 1127 <ul class="fontColor"> 1128 <li> 1129 <pre class="smartperf-text fontColor light"> 1130NO:编号。 1131</pre 1132 > 1133 </li> 1134 <li> 1135 <pre class="smartperf-text fontColor light"> 1136tid:线程号。 1137</pre 1138 > 1139 </li> 1140 <li> 1141 <pre class="smartperf-text fontColor light"> 1142t_name:线程名。 1143</pre 1144 > 1145 </li> 1146 <li> 1147 <pre class="smartperf-text fontColor light"> 1148pid:进程号。 1149</pre 1150 > 1151 </li> 1152 <li> 1153 <pre class="smartperf-text fontColor light"> 1154p_name:进程名。 1155</pre 1156 > 1157 </li> 1158 <li> 1159 <pre class="smartperf-text fontColor light"> 1160max duration:最大运行时长。 1161</pre 1162 > 1163 </li> 1164 <li> 1165 <pre class="smartperf-text fontColor light"> 1166timestamp:时间戳信息。 1167</pre 1168 > 1169 </li> 1170 </ul> 1171 <h3 class="mume-header fontColor">Top20进程线程数</h3> 1172 1173 <p class="fontColor"> 1174 通过点击Top20进程线程数标签,显示线程数量最多的20个进程,以饼图和表格方式显示。<br /> 1175 <img src="../figures/Schedulinganalysis/Top20Threadnum.jpg" alt="GitHub Logo" /> 1176 </p> 1177 <ul class="fontColor"> 1178 <li> 1179 <pre class="smartperf-text fontColor light"> 1180NO:编号。 1181</pre 1182 > 1183 </li> 1184 <li> 1185 <pre class="smartperf-text fontColor light"> 1186pid:进程号。 1187</pre 1188 > 1189 </li> 1190 <li> 1191 <pre class="smartperf-text fontColor light"> 1192p_name:进程名。 1193</pre 1194 > 1195 </li> 1196 <li> 1197 <pre class="smartperf-text fontColor light"> 1198thread count:线程数量。 1199</pre 1200 > 1201 </li> 1202 </ul> 1203 <h3 class="mume-header fontColor">Top20切换次数线程</h3> 1204 1205 <p class="fontColor"> 1206 通过点击Top20切换次数线程标签,显示切换次数最多的20个进程,以饼图和表格方式显示。<br /> 1207 <img src="../figures/Schedulinganalysis/Top20swtichcount.jpg" alt="GitHub Logo" /> 1208 </p> 1209 <ul class="fontColor"> 1210 <li> 1211 <pre class="smartperf-text fontColor light"> 1212NO:编号。 1213</pre 1214 > 1215 </li> 1216 <li> 1217 <pre class="smartperf-text fontColor light"> 1218tid:线程号。 1219</pre 1220 > 1221 </li> 1222 <li> 1223 <pre class="smartperf-text fontColor light"> 1224t_name:线程名。 1225</pre 1226 > 1227 </li> 1228 <li> 1229 <pre class="smartperf-text fontColor light"> 1230pid:进程号。 1231</pre 1232 > 1233 </li> 1234 <li> 1235 <pre class="smartperf-text fontColor light"> 1236p_name:进程名。 1237</pre 1238 > 1239 </li> 1240 <li> 1241 <pre class="smartperf-text fontColor light"> 1242sched_switch count:切换次数。 1243</pre 1244 > 1245 </li> 1246 </ul> 1247 </div> 1248 1249 <script> 1250 window.onload = () => { 1251 let isDark = window.location.search; 1252 if (isDark.indexOf('?') != -1) { 1253 isDark = isDark.substr(1, isDark.length - 1); 1254 } 1255 if (isDark == 'true') { 1256 document.getElementById('body').setAttribute('style', 'background-color:#272C34;'); 1257 let header = document.getElementsByClassName('fontColor'); 1258 for (let i = 0; i < header.length; i++) { 1259 header[i].style.color = '#fff'; 1260 } 1261 let lightBackGround = document.getElementsByClassName('light'); 1262 for (let i = 0; i < lightBackGround.length; i++) { 1263 lightBackGround[i].style.backgroundColor = '#32373F'; 1264 } 1265 } 1266 }; 1267 </script> 1268 </body> 1269</html> 1270