日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CPU-内存-IO-网络调优

發(fā)布時(shí)間:2023/12/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CPU-内存-IO-网络调优 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、關(guān)于CPU 中央處理器調(diào)優(yōu)

1、 CPU處理方式:

  • 批處理,順序處理請(qǐng)求。(切換次數(shù)少,吞吐量大)
  • 分時(shí)處理。(如同"獨(dú)占",吞吐量小)(時(shí)間片,把請(qǐng)求分為一個(gè)一個(gè)的時(shí)間片,一片一片的分給CPU處理)我們現(xiàn)在使用x86就是這種架構(gòu)
  • 實(shí)時(shí)處理
  • 例如:

    • 批處理——以前的大型機(jī)(Mainframe)上所采用的系統(tǒng),需要把一批程序事先寫(xiě)好(打孔紙帶),然后計(jì)算得出結(jié)果
    • 分時(shí)——現(xiàn)在流行的PC機(jī)和服務(wù)器都是采用這種運(yùn)行模式,即把CPU的運(yùn)行分成若干時(shí)間片分別處理不同的運(yùn)算請(qǐng)求
    • 實(shí)時(shí)——一般用于單片機(jī)上,比如電梯的上下控制,對(duì)于按鍵等動(dòng)作要求進(jìn)行實(shí)時(shí)處理

    2、 查看CPU一分鐘有多個(gè)切換多少次

    #查看內(nèi)核一秒鐘中斷CPU次數(shù) [root@xuegod70 ~]# grep HZ /boot/config-3.10.0-693.el7.x86_64 CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set # CONFIG_NO_HZ_IDLE is not set CONFIG_NO_HZ_FULL=y # CONFIG_NO_HZ_FULL_ALL is not set CONFIG_NO_HZ=y # CONFIG_RCU_FAST_NO_HZ is not set # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set # CONFIG_HZ_300 is not set CONFIG_HZ_1000=y CONFIG_HZ=1000 #1秒鐘有1000次中斷 CONFIG_MACHZ_WDT=m 注: 此文件/boot/config-3.10.0-693.el7.x86_64 是編譯內(nèi)核的參數(shù)文件

    3、調(diào)整進(jìn)程優(yōu)先級(jí)使用更多CPU  

    調(diào)整進(jìn)程nice值,讓進(jìn)程使用更多的CPU
    優(yōu)先級(jí)控制:
      nice值 #范圍, -20 ~ 19 越小優(yōu)先級(jí)越高 普通用戶0-19
      nice
    作用:以什么優(yōu)先級(jí)運(yùn)行進(jìn)程 。默認(rèn)優(yōu)先級(jí)是0
    語(yǔ)法: nice -n 優(yōu)先級(jí)數(shù)字 命令
    例:

    [root@xuegod63 ~]# nice -n -5 vim a.txt # vim進(jìn)程以-5級(jí)別運(yùn)行 查看: [root@xuegod63 ~]# ps -axu | grep a.txt [root@xuegod63 ~]# ps -axu | grep a.txt Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ root 24318 0.0 0.2 143624 3280 pts/4 S+ 17:00 0:00 vim b.txt [root@xuegod63 ~]# top -p 24318PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 24219 root 15 -5 140m 3336 2200 S 0.0 0.3 0:00.08 vim 檢測(cè)一下范圍: -20 - 19 renice #修改正在運(yùn)行的進(jìn)程的優(yōu)先級(jí) #renice -n 5 PID #修改進(jìn)程優(yōu)先級(jí)[root@xuegod63 ~]# renice -n -21 24219 24219: old priority -20, new priority -20

    4 、CPU親和力  

    taskset 作用:在多核的情況下,可以認(rèn)為指定一個(gè)進(jìn)程在哪顆CPU上執(zhí)行程序,減少進(jìn)程在不同CPU之前切換的開(kāi)銷。

    安裝: [root@xuegod63 ~]# rpm -qf `which taskset ` util-linux-2.23.2-43.el7.x86_64

    語(yǔ)法: taskset -c N 命令
    例1:本機(jī)是4核CPU ,指定vim命令在第一個(gè)CPU上運(yùn)行

    [root@xuegod63 ~]# taskset -c 0 vim a.txt #1號(hào)CPU ID是0 [root@xuegod63 ~]# ps -axu | grep vim Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ root 2614 1.3 0.2 143696 3332 pts/0 S+ 18:39 0:00 vim a.txt [root@xuegod63 ~]# taskset -p 2614 # -p 要查看的進(jìn)程ID pid 2614's current affinity mask: 1 #CPU親和力掩碼,1代表第一個(gè)CPU核心

    例2:查sshd進(jìn)程運(yùn)行在哪幾個(gè)CPU上  

    [root@xuegod63 ~]# ps -axu | grep sshd Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ root 2030 0.0 0.0 64068 1140 ? Ss 18:26 0:00 /usr/sbin/sshd[root@xuegod63 ~]# taskset -p 2030 pid 2030's current affinity mask: f #說(shuō)明sshd在4顆CPU上隨機(jī)進(jìn)行切換。說(shuō)明: Cpu ID 號(hào)碼,對(duì)應(yīng)的16進(jìn)制數(shù)為: CPU ID: 7 6 5 4 3 2 1 0對(duì)應(yīng)的10數(shù)為: 128 64 32 16 8 4 2 1當(dāng)前, 我的系統(tǒng)中cpu ID 的為(0,1,2,3) pid 2030's current affinity mask: f 的值為cpu ID 16進(jìn)制的值的和(1+2+4+8=f),轉(zhuǎn)換成二進(jìn)制為:1111 這個(gè)說(shuō)明了(pid=2030)的這個(gè)sshd進(jìn)程工作在cpu ID 分別為0,1,2,3這個(gè)四個(gè)cpu上面的切換。 注: 我們的CPU是4核心,所以taskset -c后可以跟: 0,1,2,3例:指定vim c.txt 程序運(yùn)行在第2和第4個(gè)CPU上 [root@xuegod63 ~]# taskset -c 1,3 vim b.txt [root@xuegod63 ~]# ps -axu | grep vim Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ root 6314 1.5 0.2 143612 3280 pts/1 S+ 14:41 0:00 vim b.txt root 6317 0.0 0.0 103300 848 pts/2 S+ 14:41 0:00 grep vim [root@xuegod63 ~]# taskset -p 6314 pid 6314's current affinity mask: a # a為十進(jìn)制的10=2+8 注:在哪個(gè)CPU上運(yùn)行,那一位就賦為1 。

    5、CPU 性能監(jiān)控  

      理解運(yùn)行隊(duì)列,利用率,上下文切換對(duì)怎樣CPU 性能最優(yōu)化之間的關(guān)系,早期提及到性能是相對(duì)于基準(zhǔn)線數(shù)據(jù)的,在一些系統(tǒng)中,通常預(yù)期所達(dá)到的性能包括:
      Run Queues - 每個(gè)處理器應(yīng)該運(yùn)行隊(duì)列不超過(guò)1-3 個(gè)線程.
    例如: 一個(gè)雙核處理器應(yīng)該運(yùn)行隊(duì)列不要超過(guò)6 個(gè)
    注:有兩個(gè)特殊的進(jìn)程永遠(yuǎn)在運(yùn)行隊(duì)列中待著:當(dāng)前進(jìn)程和空進(jìn)程idle。

      

      

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/happy1983/p/9274638.html

    總結(jié)

    以上是生活随笔為你收集整理的CPU-内存-IO-网络调优的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。