Tomcat
測量負載 - 頂部的 %CPU 與 %us 不同
當我在遠端伺服器上執行 TOP 時,我看到系統使用率非常低(3.8%us)。但是,對於實際程序,我看到了 29.6% 的 CPU。
由於這台伺服器有 8 個 CPU 核心,%CPU 是不是只有 1 個 CPU 的使用率,而
us
up top 超過了 8 個 CPU?當我將 29.6 除以 8 時,我得到 3.7,這看起來驗證了我的猜測。所以問題:
- 我看到的低使用率實際上超過 8 個 CPU,而 %CPU 用於程序正在使用的 CPU?
- 使用多個 CPU 的程序會發生什麼?
- 如果需要,tomcat 是否使用多個 CPU?或者如果負載增加,tomcat會崩潰,但我們永遠不會被告知高負載
頂部輸出
top - 12:17:40 up 9 days, 21:51, 2 users, load average: 0.32, 0.28, 0.27 Tasks: 201 total, 2 running, 199 sleeping, 0 stopped, 0 zombie Cpu(s): 3.8%us, 0.1%sy, 0.0%ni, 96.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16229072k total, 5617572k used, 10611500k free, 156480k buffers Swap: 8388588k total, 0k used, 8388588k free, 2632452k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 32676 tomcat 20 0 12.4g 2.3g 10m S 29.6 14.6 2530:56 java
我檢查了諸如http://www.kernelhardware.org/linux-top-command/之類的來源,但沒有一個可以區分
%us
和%CPU
。只有一些模棱兩可的資訊,例如:
%CPU – Percentage of CPU used
中顯示的 CPU 百分比
top
適用於所有 CPU 的總和。要查看每個 CPU 的統計資訊,請1
在top
執行時按。另一方面,程序列表中的百分比是單個 CPU 核心的百分比,因此可能會超過 100%。