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

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

生活随笔

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

编程问答

Solaris 性能基础

發(fā)布時(shí)間:2025/3/13 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Solaris 性能基础 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??????? 打算寫(xiě)下這些為本周部門(mén)交流做準(zhǔn)備,好好理順下自己對(duì)簡(jiǎn)單系統(tǒng)管理的認(rèn)識(shí),知識(shí)來(lái)源主要是是機(jī)械工業(yè)出版社的 《Solaris 性能與工具》。歡迎指點(diǎn)。?? 這里的測(cè)試都在sparc平臺(tái)下的solaris9之后的操作系統(tǒng)上,linux上對(duì)號(hào)入座是行不通的。

??????? 對(duì)于服務(wù)器而言,我們一般會(huì)關(guān)注cpu的個(gè)數(shù),主頻,負(fù)載情況。相關(guān)命令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+

?

可以看到內(nèi)存,cpu,以及接口等信息,這是一臺(tái)cpu主頻為500m Hz,內(nèi)存為768m的sparc機(jī)器,而那個(gè)100mHz是系統(tǒng)總線的頻率,更直白些,就是外頻。

如果要看cpu硬件信息,可以使用prsinfo 這一個(gè)命令,-p參數(shù)顯示cpu個(gè)數(shù),-v顯示內(nèi)核狀態(tài),-vp 顯示的是線程數(shù)

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)

?因?yàn)閏pu是多核,每個(gè)核又有幾個(gè)線程,如果要查看核數(shù),請(qǐng)用下面命令:

-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?

?當(dāng)然,這些不是重點(diǎn),我們關(guān)注的是系統(tǒng)運(yùn)行時(shí)cpu的狀態(tài)。

1.vmstat(從命令行粘過(guò)來(lái)會(huì)列對(duì)齊錯(cuò)亂,就截了個(gè)圖)

?

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

?還有一個(gè)快速查看飽和度的命令

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后面的數(shù)值代表了cpu在1分鐘,5分鐘,15分鐘的每個(gè)運(yùn)算周期的平均負(fù)載(即線程數(shù),),這個(gè)平均值對(duì)性能評(píng)估意義不大。無(wú)法檢測(cè)出峰值的負(fù)載。

sar (system activation report)命令,是一個(gè)非常好用的系統(tǒng)信息統(tǒng)計(jì)工具。其默認(rèn)是統(tǒng)計(jì)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

一秒統(tǒng)計(jì)一次,計(jì)五次。關(guān)于sar 命令,是可以單獨(dú)寫(xiě)一篇文章的,看操作系統(tǒng)上的man手冊(cè)就可見(jiàn)一斑。查看單個(gè)cpu利用率的統(tǒng)計(jì)命令是mpstat,這里就不貼命令結(jié)果了。

? ? ? ? 以上所寫(xiě)的,是不能直接解決問(wèn)題的,我們只是看到了cpu的使用狀況,而不是誰(shuí)在用cpu。誰(shuí)在用cpu,用了多少,這是進(jìn)程和線程的事情了,這里需要介紹一個(gè)叫做prstat的命令。以下是默認(rèn)顯示的片段,包含pid,使用內(nèi)存大小和cpu使用百分比,默認(rèn)按照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 是進(jìn)程號(hào),用戶名

SIZE 和RSS是映射虛擬內(nèi)存大小和占用物理內(nèi)存

STATE 進(jìn)程狀態(tài)

PRI 優(yōu)先級(jí) 數(shù)字越大優(yōu)先級(jí)越高

TIME 累計(jì)使用cpu時(shí)間

PROCESS/NLWP 進(jìn)程名(執(zhí)行文件名)/線程數(shù)

?

prstat 可以對(duì)進(jìn)程(線程)進(jìn)行各種統(tǒng)計(jì)排序,

? ? ? ? ? ? ? ? 對(duì)線程進(jìn)行統(tǒng)計(jì),可以使用 -L參數(shù),

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

? ? ? ? ? ? ? ?按某uid使用資源總量 -t 針對(duì)一個(gè)用戶,列出資源 -U + uid?

? ? ? ? ? ? ? ?每一個(gè)zone使用的資源統(tǒng)計(jì) -Z

? ? ? ? ? ? ? ?列出用戶和進(jìn)程的相關(guān)信息,相當(dāng)于 prstat 后跟進(jìn)了一個(gè)prstat -t

以上是對(duì)cpu和進(jìn)程資源的使用情況進(jìn)行分析的命令,下面寫(xiě)下磁盤(pán)性能相關(guān)的的命令iostat,sar。對(duì)于磁盤(pán)我們一般關(guān)注的性能問(wèn)題是讀寫(xiě)速度,使用率(繁忙百分比)。使用iostat可以獲得磁盤(pán)性能信息,常見(jiàn)參數(shù)解釋:

-D 新風(fēng)格

-e 顯示設(shè)備錯(cuò)誤統(tǒng)計(jì)數(shù)據(jù)

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

-n 使用磁盤(pán)邏輯名顯示,默認(rèn)實(shí)例名

-p 顯示每個(gè)分區(qū)和設(shè)備的和分區(qū)的統(tǒng)計(jì)數(shù)據(jù)

-P 只顯示分區(qū)統(tǒng)計(jì)信息

-x 擴(kuò)展磁盤(pán)統(tǒng)計(jì)數(shù)據(jù) ,條目更多。

-z 不顯示全部為0的行

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

一個(gè)例子

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 寫(xiě)速率 ?%w 等待百分比 %b 忙百分比 wait 等待的平均數(shù)量 actv被響應(yīng)事物數(shù)量 wsvc_t平均等待時(shí)間 asvc_t平均運(yùn)行時(shí)間

。更多的內(nèi)容,可以man。

? ?對(duì)于那些進(jìn)程占用比較多的cpu,內(nèi)存,都有命令可以找出。對(duì)io呢,如何找出正在大量占用磁盤(pán)的進(jìn)程呢?這里有三個(gè)個(gè)很實(shí)用的腳本iotop(

和iosnoop,psio(http://www.brendangregg.com/psio.html) 。 其中iotop和iosnoop只能在s10及以后版本使用,因?yàn)槭褂胐trace了。

?

不是每個(gè)用戶都有權(quán)限使用dtrace的,如果不是root,又想使用dtrace,請(qǐng)參照

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

以下是增加權(quán)限過(guò)程:

?

?

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

?

?

?

?

?

?

?

?

?

?

?

?

?

?

??????

轉(zhuǎn)載于:https://www.cnblogs.com/doita/archive/2012/08/03/2617234.html

總結(jié)

以上是生活随笔為你收集整理的Solaris 性能基础的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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