日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Solaris 性能基础

發布時間:2025/3/13 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Solaris 性能基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????? 打算寫下這些為本周部門交流做準備,好好理順下自己對簡單系統管理的認識,知識來源主要是是機械工業出版社的 《Solaris 性能與工具》。歡迎指點。?? 這里的測試都在sparc平臺下的solaris9之后的操作系統上,linux上對號入座是行不通的。

??????? 對于服務器而言,我們一般會關注cpu的個數,主頻,負載情況。相關命令prtdiag? psrinfo cpustat mpstat vmstat .

?????? 查看硬件信息,可以用prtdiag,可以看到以下是信息

?????

bash-3.00# prtdiag System Configuration: Sun Microsystems sun4u Sun Fire V100 (UltraSPARC-IIe 500MHz) System clock frequency: 100 MHz Memory size: 768 Megabytes========================= CPUs =========================Run Ecache CPU CPU Brd CPU Module MHz MB Impl. Mask --- --- ------- ----- ------ ------ ----0 0 0 500 0.2 13 1.4========================= IO Cards =========================Bus# Freq Brd Type MHz Slot Name Model --- ---- ---- ---- -------------------------------- ----------------------0 PCI-0 33 0 dma-isadma0 PCI-0 33 0 rtc-m5819 m58190 PCI-0 33 0 power-acpi-power0 PCI-0 33 0 SUNW,lomh0 PCI-0 33 0 serial-su165500 PCI-0 33 0 serial-su165500 PCI-0 33 0 flashprom SUNW,258-78830 PCI-0 33 0 i2c-i2c-smbus0 PCI-0 33 0 ppm-SUNW,smbus-ppm0 PCI-0 33 0 beep-SUNW,smbus-beep0 PCI-0 33 0 fan-control-SUNW,smbus-fan-contr+

?

可以看到內存,cpu,以及接口等信息,這是一臺cpu主頻為500m Hz,內存為768m的sparc機器,而那個100mHz是系統總線的頻率,更直白些,就是外頻。

如果要看cpu硬件信息,可以使用prsinfo 這一個命令,-p參數顯示cpu個數,-v顯示內核狀態,-vp 顯示的是線程數

bash-3.00# psrinfo -v Status of virtual processor 0 as of: 07/31/2012 17:21:24on-line since 07/13/2011 16:22:45.The sparcv9 processor operates at 500 MHz,and has a sparcv9 floating point processor. bash-3.00# psrinfo -p 1 bash-3.00# psrinfo -vp The physical processor has 1 virtual processor (0)UltraSPARC-IIe (portid 0 impl 0x13 ver 0x14 clock 500 MHz)

?因為cpu是多核,每個核又有幾個線程,如果要查看核數,請用下面命令:

-bash-3.00$?kstat?cpu_info|grep?core_id|uniq
????????core_id?????????????????????????66
????????core_id?????????????????????????68
????????core_id?????????????????????????70
????????core_id?????????????????????????72
????????core_id?????????????????????????74
????????core_id?????????????????????????76
????????core_id?????????????????????????78
????????core_id?????????????????????????80?

?當然,這些不是重點,我們關注的是系統運行時cpu的狀態。

1.vmstat(從命令行粘過來會列對齊錯亂,就截了個圖)

?

?kthr(應該是kerneral thread)中的三列 r b w ,分別代表運行,阻塞,等待的線程數,可以據此查看cpu飽和度(負載程度)。

?還有一個快速查看飽和度的命令

uptime:

bash-3.00# uptime2:26pm up 384 day(s), 22:04, 2 users, load average: 1.46, 1.47, 1.48 You have new mail in /var/mail/root

?

?load average后面的數值代表了cpu在1分鐘,5分鐘,15分鐘的每個運算周期的平均負載(即線程數,),這個平均值對性能評估意義不大。無法檢測出峰值的負載。

sar (system activation report)命令,是一個非常好用的系統信息統計工具。其默認是統計cpu信息的(-u)?

以下是示例

bash-3.00# sar 1 5SunOS xxxx 5.10 Generic_118833-33 sun4u 08/01/201214:47:08 %usr %sys %wio %idle 14:47:09 88 12 0 0 14:47:10 94 6 0 0 14:47:11 76 7 0 17 14:47:12 92 6 0 2 14:47:13 93 7 0 0Average 89 8 0 4

一秒統計一次,計五次。關于sar 命令,是可以單獨寫一篇文章的,看操作系統上的man手冊就可見一斑。查看單個cpu利用率的統計命令是mpstat,這里就不貼命令結果了。

? ? ? ? 以上所寫的,是不能直接解決問題的,我們只是看到了cpu的使用狀況,而不是誰在用cpu。誰在用cpu,用了多少,這是進程和線程的事情了,這里需要介紹一個叫做prstat的命令。以下是默認顯示的片段,包含pid,使用內存大小和cpu使用百分比,默認按照cpu使用百分比排序:

PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP27235 root 3344K 3016K cpu0 59 0 0:00:00 0.3% prstat/1920 noaccess 163M 58M sleep 59 0 22:49:31 0.3% java/23956 dbadm 115M 42M sleep 59 0 14:13:33 0.2% java/37140 root 3928K 2024K sleep 59 0 0:44:02 0.0% nscd/3126621 sybase 8216K 2664K sleep 59 0 0:00:01 0.0% sshd/127789 root 2320K 1344K sleep 100 - 1:07:05 0.0% xntpd/1

PID USERNAME 是進程號,用戶名

SIZE 和RSS是映射虛擬內存大小和占用物理內存

STATE 進程狀態

PRI 優先級 數字越大優先級越高

TIME 累計使用cpu時間

PROCESS/NLWP 進程名(執行文件名)/線程數

?

prstat 可以對進程(線程)進行各種統計排序,

? ? ? ? ? ? ? ? 對線程進行統計,可以使用 -L參數,

? ? ? ? ? ? ? ? 用按指定列排序 使用 -s + 列名 ?例如 prstat -s rss 就是按照使用物理內存量排序

? ? ? ? ? ? ? ?按某uid使用資源總量 -t 針對一個用戶,列出資源 -U + uid?

? ? ? ? ? ? ? ?每一個zone使用的資源統計 -Z

? ? ? ? ? ? ? ?列出用戶和進程的相關信息,相當于 prstat 后跟進了一個prstat -t

以上是對cpu和進程資源的使用情況進行分析的命令,下面寫下磁盤性能相關的的命令iostat,sar。對于磁盤我們一般關注的性能問題是讀寫速度,使用率(繁忙百分比)。使用iostat可以獲得磁盤性能信息,常見參數解釋:

-D 新風格

-e 顯示設備錯誤統計數據

-M 以MB/s為單位顯示吞吐

-n 使用磁盤邏輯名顯示,默認實例名

-p 顯示每個分區和設備的和分區的統計數據

-P 只顯示分區統計信息

-x 擴展磁盤統計數據 ,條目更多。

-z 不顯示全部為0的行

-m 顯示掛載點(配合-p或者-P)

一個例子

bash-3.00#?iostat?-zxnpm
????????????????????extended?device?statistics
????r/s????w/s???kr/s???kw/s?wait?actv?wsvc_t?asvc_t??%w??%b?device
????0.0????0.7????0.5????5.6??0.0??0.0????0.7????0.7???0???0?c0t0d0
????0.0????0.0????0.0????0.0??0.0??0.0????0.9????0.7???0???0?c0t0d0s0?(/)
????0.0????0.0????0.0????0.0??0.0??0.0???14.8???15.4???0???0?c0t0d0s1?(/usr/openwin)
????0.0????0.2????0.0????0.4??0.0??0.0????0.1????0.3???0???0?c0t0d0s3?(/var)
????0.0????0.0????0.0????0.0??0.0??0.0????5.0???10.7???0???0?c0t0d0s4
????0.0????0.5????0.5????5.1??0.0??0.0????0.7????0.8???0???0?c0t0d0s5?(/opt)
????0.0????0.0????0.0????0.0??0.0??0.0????3.0????2.0???0???0?c0t0d0s6?(/usr)
????0.0????0.0????0.0????0.0??0.0??0.0????2.2????2.9???0???0?c0t0d0s7?(/export/home)


?kr/s 讀速率 kw/s 寫速率 ?%w 等待百分比 %b 忙百分比 wait 等待的平均數量 actv被響應事物數量 wsvc_t平均等待時間 asvc_t平均運行時間

。更多的內容,可以man。

? ?對于那些進程占用比較多的cpu,內存,都有命令可以找出。對io呢,如何找出正在大量占用磁盤的進程呢?這里有三個個很實用的腳本iotop(

和iosnoop,psio(http://www.brendangregg.com/psio.html) 。 其中iotop和iosnoop只能在s10及以后版本使用,因為使用dtrace了。

?

不是每個用戶都有權限使用dtrace的,如果不是root,又想使用dtrace,請參照

http://www.solarisinternals.com/wiki/index.php/DTrace_Topics_Guide以??

以下是增加權限過程:

?

?

As?user1,
$?id
uid=1001(user1)?gid=1(other)
$?ppriv?$$
214885:?-sh
flags?=?<none>
????????E:?basic
????????I:?basic
????????P:?basic
????????L:?all
$?exit

As?root,
#?grep?user1?/etc/user_attr?
#?usermod?-K?defaultpriv=basic,dtrace_user,dtrace_proc?user1
#?grep?user1?/etc/user_attr
user1::::type=normal;defaultpriv=basic,dtrace_user,dtrace_proc
#?su?-?user1
$?ppriv?$$
285007:?-sh
flags?=?<none>
????????E:?basic,dtrace_proc,dtrace_user
????????I:?basic,dtrace_proc,dtrace_user
????????P:?basic,dtrace_proc,dtrace_user
????????L:?all

?

?

?

?

?

?

?

?

?

?

?

?

?

?

??????

轉載于:https://www.cnblogs.com/doita/archive/2012/08/03/2617234.html

總結

以上是生活随笔為你收集整理的Solaris 性能基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。