<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CPU占用率是什么?

          共 2117字,需瀏覽 5分鐘

           ·

          2021-05-25 12:17

          這是昨晚上在朋友圈發(fā)的一個討論

          回答的問題很多

          因為這個問題,我晚上也沒早睡,就想把這個講清楚

          說這個問題之前我們先了解下時間片調(diào)度算法,因為用這個來講比較清楚。

          CPU可以執(zhí)行任務(wù),CPU給哪個進程執(zhí)行,哪個進程就可以占用CPU去做它想做的事情,如果進程的優(yōu)先級比較低,調(diào)度器每次調(diào)度的時候,就容易被高優(yōu)先級的進程插隊,這個進程實際上占有CPU的時間就會比較短。

          什么是CPU是利用率呢?

          先說下,這個指的是有操作系統(tǒng)的情況下,有多任務(wù)系統(tǒng),那系統(tǒng)有一個調(diào)度室,調(diào)度室分配給進程的使用CPU時間T1,進程在被調(diào)度時,進程實際占用CPU時間T2,T2/T1就是這個進程的CPU占用率了。

          如果我們這樣寫代碼

          #include <sys/types.h>
          #include <unistd.h>
          #include <stdio.h>
          #include <stdlib.h>
          int main(void)
          {
              printf("%d:Cpu start...\n",getpid());
              while(1)
              {
                  sleep(1);
              }
              return 0;
          }

          這時候的CPU占用率是

          如果我們代碼修改成這樣

          #include <sys/types.h>
          #include <unistd.h>
          #include <stdio.h>
          #include <stdlib.h>
          int main(void)
          {
              int i=0;
              printf("%d:Cpu start...\n",getpid());
              while(1)
              {
                  for(i=0;i<100000000;i++)
                  {}
                  sleep(1);
              }
              return 0;
          }

          CPU 占用率如下

          如果我把代碼修改成這樣

          #include <sys/types.h>
          #include <unistd.h>
          #include <stdio.h>
          #include <stdlib.h>
          int main(void)
          {
              int i=0;
              printf("%d:Cpu start...\n",getpid());
              while(1)
              {
                  for(i=0;i<100000000;i++)
                  {}
                  //sleep(1);
              }
              return 0;
          }

          CPU占用率如下:

          關(guān)于這個問題,還有很多回復(fù)

          至于能不能出現(xiàn)超過100%的CPU占用率,在多核的情況下肯定是可以的,至于單核是不會出現(xiàn)這個情況的


          歡迎一起交流





          推薦閱讀:

          專輯|Linux文章匯總
          專輯|程序人生
          專輯|C語言
          我的知識小密圈

          關(guān)注公眾號,后臺回復(fù)「1024」獲取學(xué)習(xí)資料網(wǎng)盤鏈接。

          歡迎點贊,關(guān)注,轉(zhuǎn)發(fā),在看,您的每一次鼓勵,我都將銘記于心~


          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩欧美黄色电影 | 91九九九 | 色麻豆| 黄色做爱免费 | 国产视频swag |