Linux CPU負載與利用率

2021-03-02 記憶筆Aizhot

如果是多核多cpu,比如現在是2個cpu,每個cpu是1個核,那麼理論上總負載不能超過2。

2、如何查看CPU信息?

(1)查看單個cpu核數:

cat /proc/cpuinfo | grep "cpu cores"|uniq

(2)查看物理CPU個數:

cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

(3)查看邏輯CPU的個數:

cat /proc/cpuinfo| grep "processor"| wc -l

註:Linux下top查看的CPU也是邏輯CPU個數,一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示伺服器的CPU支持超線程

在作業系統上我們可以使用top先查看目前負載狀態,通過命令:

ps -axjf 查看STAT中是否有D+的狀態進程存在,處於此狀態的進程無法終止,也無法退出。只能重啟或kill進程。就好比之前舉的例子中,公司只有一個廁所,外面沒人排隊,但有人在裡面上了半天或者更久,這說明了他遇到了意想不到的問題。

這表示cpu任務不多,但是執行時間長,排除正常計算任務,大概率和應用或者運行程序有關,生成了大量耗時短的計算任務。

4、如果cpu使用率到100%怎麼處理?

如果執行的是命令:

(1)通過top -c參數查看詳細信息

如果是執行的是java程序:

(1)先通過top命令查出cpu佔用高的進程及其pid號

(2)top -Hp pid找到佔用cpu高的線程ID

(3)將線程轉換為16進位,printf"0x%x\n" 線程PID ,得到線程字  符串

(4)通過jstack PID | grep 『線程字符串』 -C5 --color

相關焦點

  • Linux - cpupower調整CPU主頻
    前言linux內核支持調節CPU主頻,降低功耗,已到達節能的效果。對於行動裝置和筆記本來說,在沒有接通電源的時候,續航是很重要的。通過選擇系統空閒狀態不同的電源管理策略,可以實現不同程度降低伺服器功耗。但是,更低的功耗策略意味著 CPU 喚醒更慢對性能影響更大。
  • CPU 利用率背後的真相,只有 1% 人知道
    作者根據PMU相關的工作經驗,設定了1.0這個閾值,用於區分訪存密集型(memory-bound)和計算密集型(cpu-bound)程序。讀者可以根據自己的實際工作平臺,合理調整這個閾值。5. 性能工具應該告訴我們什麼?
  • 一篇搞懂CPU平均負載的來龍去脈,如何壓測
    還有更多的操作技巧,htop在各家的linux系統中並沒有默認安裝,需要在各家系統上進行安裝。展示方式也跟top有類似的參照。還有一種就是等待CPU的情況,此時CPU消耗很高,cpu的等待也很高,平均負載也是很高的。說了負載升高的情況,那平均負載究竟是什麼呢?
  • Linux系統下查CPU個數的方法
    :/proc/cpuinfo  linux 下  /proc/cpuinfo  文件會顯示cpu的信息  processor 會從0開始記數 繼續下去多個cpu  flags 如果有 ht 說明支持超線程技術
  • Linux文件的常用操作命令
    linux文件操作常用指令1、系統命令runlevel # 查看當前的運行級別systemctl status firewalld # 開啟網絡服務功能stop # 關閉restart # 重啟size +10M -a -size -100M -print0 | xargs -0 du -h | sort -nr# 查找文件大於10M小於100M,倒序排列2、查看CPUkillcpu.sh # 編寫一個腳本耗盡CPUtop # 查看cpu
  • 震驚,用了這麼多年的 CPU 利用率,其實是錯的
    因此,大多時候 CPU 處於停頓狀態,而你卻不知道,因為 CPU 利用率這個指標沒有告訴你真相。通過進一步分析 CPU 停頓的原因,可以指導代碼優化,提高執行效率,這是我們深入理解CPU微架構的動力之一。2. CPU 利用率的真實含義是什麼?我們通常所說的CPU利用率是指 「non-idle time」:即CPU不執行 idle thread 的時間。
  • 用off-cpu火焰圖調查Linux性能問題
    https://www.memsql.com/blog/linux-off-cpu-investigation/>《investigating Linux Performance with Off-CPU Flame Graphs》本文用off-cpu火焰圖分析一個程序的延遲(主要在拿鎖上),找出來瓶頸,並消除的故事。
  • 從0開始,在Linux中配置Nginx反向代理、負載均衡、session共享、動靜分離
    worker_ processes的值通常不會大於伺服器中cpu的核心數量,換句話說,worker進程的數通常與伺服器有多少cpu核心有關,比如,nginx所在主機擁有4核cpu,那麼worker_ processes的值通常不會大於4,這樣做的原因是為了盡力讓每個worker進程都有一個cpu可以使用,儘量避免了多個worker進程搶佔同一個
  • 「正點原子Linux連載」第三十七章Linux內核移植
    使用FileZilla將其發送到Ubuntu中並解壓,得到名為linux-imx-rel_imx_4.1.15_2.1.0_ga的目錄,為了和NXP官方的名字區分,可以使用「mv」命令對其重命名,我這裡將其重命名為「linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek」,命令如下:mv linux-imx-rel_imx_4.1.15
  • 深入理解Kubernetes資源限制:CPU
    資源限制的系列文章的第一篇文章中,我討論了如何使用 ResourceRequirements 對象來設置 Pod 中容器的內存資源限制,以及如何通過容器運行時和 linux control group(cgroup)來實現這些限制。
  • 一篇文章告訴你,平均負載的來龍去脈
    還有更多的操作技巧,htop在各家的linux系統中並沒有默認安裝,需要在各家系統上進行安裝。展示方式也跟top有類似的參照。還有一種就是等待CPU的情況,此時CPU消耗很高,cpu的等待也很高,平均負載也是很高的。說了負載升高的情況,那平均負載究竟是什麼呢?
  • 必須掌握的Linux命令
    1. top直接輸入 top,返回下圖所示內容,其中,load average: 0.00,0.01,0.05 分別表示最近1分鐘、5分鐘和15分鐘的負載,數值越高負載越大。一般要求最好不要超過cpu的核數。比如,單核就最好小於1。如果看到機器長期出於高於核數的情況,說明機器的cpu排隊嚴重。
  • 「必看」Linux 運維工程師打怪升級篇
    1、使用反向代理可以理解為7層應用層的負載均衡,使用負載均衡之後可以非常便捷的橫向擴展伺服器集群,實現集群整體並發能力、抗壓能力的提高。2、通常反向代理伺服器會帶有本地 Cache 功能,通過靜態資源的 Cache,有效的減少後端伺服器所承載的壓力,從而提高性能。
  • Linux2.6內核中的最新電源管理技術綜述
    而變頻技術是指CPU硬體本身支持在不同的頻率下運行,系統在運行過程中可以根據隨時可能發生變化的系統負載情況動態在這些不同的運行頻率之間進行切換,從而達到對性能和功耗做到二者兼顧的目的。  雖然多個處理器生產廠家都提供了對變頻技術的支持,但是其硬體實現和使用方法必然存在著細微甚至巨大的差別。
  • Maxon發布Cinebench R20 負載更高
    據外媒techpowerup的評測,4核心8線程的Core i7-7700K擊敗了最新的Core i5-9400F 6核6線程處理器,內存負載很大,高主頻的CPU更有優勢。本文屬於原創文章,如若轉載,請註明來源:Maxon發布Cinebench R20 負載更高http://cpu.zol.com.cn/711/7112363.html http://cpu.zol.com.cn/711/7112363
  • 淺談分析Arm linux 內核移植及系統初始化的過程二
    Do necessary setups, then* enable them*/lock_kernel();boot_cpu_init();page_address_init();printk(KERN_NOTICE);printk(linux_banner);setup_arch(&command_line
  • Linux2.6內核驅動移植參考
    /slab.h>,而原來的linux/malloc.h>不存在 老版本:內存分配函數包含在頭文件linux/malloc.h> 10、 結構體的初試化 gcc開始採用ANSI C的struct結構體的初始化形式: static struct some_structure = { .field1 = value
  • CPU頻率和核心
    設置CPU的核心數在/sys/devices/system/cpu目錄下可以看到你的CPU有幾個核心,如果是四核,就是cpu0,cpu1,cpu2,cpu3 4個文件夾。cpu0 常開。,內核提供的功能,不是很強大,但有效實現了動態頻率調節,平時以低速方式運行,當系統負載提高時候自動提高頻率。
  • Android CPU性能測試
    3、CPU資源利用率低:CPU就是速度與負載的博弈,用得多會耗電、會卡頓,用得少也會有問題,像啟動、界面切換、音視頻編解碼這些場景,為了保證其速度,不好好利用CPU,真對不起核心數的不斷飆升。而導致無法充分利用CPU的因素,除了磁碟和網絡I/O外,還有鎖操作、sleep等。其中鎖的優化,一般在鎖的範圍上,主要是儘可能地縮減範圍。