星期六, 1月 16, 2016
星期二, 11月 10, 2015
星期六, 10月 03, 2015
星期四, 10月 01, 2015
星期一, 9月 14, 2015
星期三, 9月 02, 2015
星期日, 8月 30, 2015
星期六, 8月 29, 2015
星期五, 8月 28, 2015
星期四, 8月 27, 2015
星期三, 8月 26, 2015
星期二, 8月 25, 2015
星期一, 8月 24, 2015
星期四, 4月 28, 2011
PowerPoint出現"無法顯示…檔案中…某些文字…
PowerPoint出現"無法顯示…檔案中…某些文字…"
上週有同仁反應無法開啟ppt檔,經測試,該電腦開啟ppt檔時會出現「PowerPoint無法顯示 "XXX.ppt" 檔案中投影片上的某些文字圖像或物件,因為這些項目發生毀損,簡報中受到影響的投影覑已經以空白投影片取代。遺失的資訊已經沒辦法修復。若要確保檔案可以 使用舊版的PowerPoint開啟,請用[另存指令]([檔案]功能表),以同樣名稱或新的檔案名稱儲存檔案。」的錯誤訊息,好長一串…。
後來在自己的電腦測試,也發生一樣的狀況,再開啟幾年前做的ppt檔,有的ok,有的也會出現錯誤訊息,這狀況倒是特別。上網搜尋了一下,果然也有其他人發難,而問題的原因,竟是微軟釋出的KB2464588更新所導致,詳細的狀況可參考微軟TechNet的討論串。
解決的方式有兩種,一是到新增移除程式移除KB2464588(記得把"顯示更新"打勾):

另一方法為使用微軟後來釋出的hotfix來修正。
參考資料:
http://blog.752club.com/powerpoint-kb2464588/
linux 更改 hostname
Linux (Redhat / Fedora / CentOS) 更改 hostname 的方式
發現更改主機的 hostname 的方式都改不太完整. 以下是試出來比較完整的方式:
Step 00:
- 假設原本 hostname 為 tryboxap2, 現在想要更改為 tryboxap03
- 使用 root 才可以更改 hostname
su - root
Step 01:
- 將 /etc/hosts 內出現的 tryboxap2 都改成 tryboxap03
: 127.0.0.1 tryboxap03 localhost.localdomain localhost
Step 02:
- 將 /etc/sysconfig/network 內的 HOSTNAME 改成 tryboxap03
NETWORKING=yes HOSTNAME=tryboxap03 GATEWAY=61.67.71.126
Step 03:
- 再使用 hostname 命令指定一次
hostname tryboxap03
- 這時就已經設定完成. 可以使用 hostname 命令去確認一次
[root@tryboxap2 etc]# hostname tryboxap03 [root@tryboxap2 etc]#
星期五, 4月 08, 2011
CentOS 5.5 Oracle 安裝
http://www.oracle-base.com/articles/10g/OracleDB10gR2InstallationOnRHEL5.php
http://blog.csdn.net/xujunjie/archive/2010/07/24/5758402.aspx
http://onaxer.com/blog/blog/2010/08/25/oracle-10g-r2-installtion-on-centos-5-5rhel/
http://www.08.la/news2010/newshtml/JiShuWenZhang/ORACLE/18758.html
http://space.itpub.net/12778571/viewspace-165720
若出現
Oracle supports installations on systems with DHCP-assigned public IP addresses
修改/etc/hosts
IP hostname
127.0.0.1 那一行的hostname 要拿掉
http://blog.csdn.net/xujunjie/archive/2010/07/24/5758402.aspx
http://onaxer.com/blog/blog/2010/08/25/oracle-10g-r2-installtion-on-centos-5-5rhel/
http://www.08.la/news2010/newshtml/JiShuWenZhang/ORACLE/18758.html
http://space.itpub.net/12778571/viewspace-165720
若出現
Oracle supports installations on systems with DHCP-assigned public IP addresses
修改/etc/hosts
IP hostname
127.0.0.1 那一行的hostname 要拿掉
星期四, 4月 07, 2011
Media Manager volume pool aptilo has no more unassigned media in robotic device TLD(0)
問題:
建立了兩個policy,test1和test2。指定的volumn pool都为aptilo。
在aptilo的volumn pool裡有兩卷空白的磁帶A和磁帶B,手動執行test1成功,mount的是磁帶A,然後手動執行test2,它會去mount磁帶B,而磁帶A才寫了一點點資料,為什麼test2不去mount磁帶A,而去mount磁帶B。如果把磁帶B從aptilo裡刪除只剩磁帶A,再次執行test2,就出現下列錯誤,若只執行test1則OK。
2006-7-18 0:54:15 - started process bpbrm (1480)
2006-7-18 0:54:15 - connecting
2006-7-18 0:54:16 - connected; connect time: 00:00:01
2006-7-18 0:54:17 - started process bptm (2656)
2006-7-18 0:54:17 - Error bptm(pid=2656) Media Manager volume pool aptilo has no more unassigned media in robotic device TLD(0)
2006-7-18 0:54:20 - end writing
unable to allocate new media for backup, storage unit has none available(96)
2006-7-18 0:54:20 - Error bpsched(pid=676) suspending further backup attempts for client CLIENTSERVER, policy test2, schedule Full because it has exceeded the configured number of tries
2006-7-18 0:54:20 - Error bpsched(pid=676) backup of client CLIENTSERVER exited with status 96 (unable to allocate new media for backup, storage unit has none available)
答:
NBU會把資料寫在具有相同保存期限的磁帶裡,所以保存週期要設成一樣,或者在properties裡設置允許同一卷磁帶上有不同的保存週期。改更 Netbackup Management --> Host Properties -->Master Server
保存周期要设成一样,或者在properties里设置允许同一盘磁带上有不同的保存周期。
NetBackup Managemnt--->Host Properties--->Master Server
我把所有用daily vloumn pool里的policy都改成相同的retention试了一下,好像是可以了。
不过现在好像又有这样一个问题,我的磁带机不是有两个drive吗,也就是可以支持同时有两个policy在运行,test1和test2是设置成同时运行的,但结果是test1在运行时候,test2却在等待,而这个daily volumn pool里至少还有两盘磁带可以写。不知何故。
可能是Master的每client的job数没改,现在查看其设置是1。
存储单元的最大同时写驱动器数也没改过,但其默认已经是2了。
应该是跟第一个设置有关了。
參考資料
http://bbs.chinaunix.net/archiver/tid-977575.html
建立了兩個policy,test1和test2。指定的volumn pool都为aptilo。
在aptilo的volumn pool裡有兩卷空白的磁帶A和磁帶B,手動執行test1成功,mount的是磁帶A,然後手動執行test2,它會去mount磁帶B,而磁帶A才寫了一點點資料,為什麼test2不去mount磁帶A,而去mount磁帶B。如果把磁帶B從aptilo裡刪除只剩磁帶A,再次執行test2,就出現下列錯誤,若只執行test1則OK。
2006-7-18 0:54:15 - started process bpbrm (1480)
2006-7-18 0:54:15 - connecting
2006-7-18 0:54:16 - connected; connect time: 00:00:01
2006-7-18 0:54:17 - started process bptm (2656)
2006-7-18 0:54:17 - Error bptm(pid=2656) Media Manager volume pool aptilo has no more unassigned media in robotic device TLD(0)
2006-7-18 0:54:20 - end writing
unable to allocate new media for backup, storage unit has none available(96)
2006-7-18 0:54:20 - Error bpsched(pid=676) suspending further backup attempts for client CLIENTSERVER, policy test2, schedule Full because it has exceeded the configured number of tries
2006-7-18 0:54:20 - Error bpsched(pid=676) backup of client CLIENTSERVER exited with status 96 (unable to allocate new media for backup, storage unit has none available)
答:
NBU會把資料寫在具有相同保存期限的磁帶裡,所以保存週期要設成一樣,或者在properties裡設置允許同一卷磁帶上有不同的保存週期。改更 Netbackup Management --> Host Properties -->Master Server
保存周期要设成一样,或者在properties里设置允许同一盘磁带上有不同的保存周期。
NetBackup Managemnt--->Host Properties--->Master Server
我把所有用daily vloumn pool里的policy都改成相同的retention试了一下,好像是可以了。
不过现在好像又有这样一个问题,我的磁带机不是有两个drive吗,也就是可以支持同时有两个policy在运行,test1和test2是设置成同时运行的,但结果是test1在运行时候,test2却在等待,而这个daily volumn pool里至少还有两盘磁带可以写。不知何故。
可能是Master的每client的job数没改,现在查看其设置是1。
存储单元的最大同时写驱动器数也没改过,但其默认已经是2了。
应该是跟第一个设置有关了。
參考資料
http://bbs.chinaunix.net/archiver/tid-977575.html
星期四, 3月 24, 2011
Linux 效能分析
iostat
[root@hqu-mysql ~]# iostat -x
Linux 2.6.9-89.0.15.ELsmp (hqu-mysql) 2009年11月25日
avg-cpu: %user %nice %sys %iowait %idle
7.95 0.00 5.96 1.24 84.85
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
ida/c0d0 0.03 7.54 6.29 7.11 94.87 117.22 47.44 58.61 15.84 1.09 81.67 4.51 6.04
ida/c0d0p1 0.03 7.54 6.29 7.11 94.87 117.22 47.44 58.61 15.84 1.09 81.68 4.51 6.04
ida/c0d0p2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 45.66 0.00 12.72 10.03 0.00
数据库应该是有硬盘io延迟问题的。
结果详解:
% user 显示了在用户级(应用程序)执行时产生的 CPU 使用率百分比。
% sys 显示了在系统级(内核)执行时产生的 CPU 使用率百分比。
% idle 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。
% iowait 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
简单分析:
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。
队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。
vmstat
[root@sends ~]# vmstat -a 2
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free inact active si so bi bo in cs us sy id wa
2 0 0 589428 847744 2391492 0 0 1 21 3 6 23 13 64 0
2 0 0 585972 848296 2394760 0 0 0 62 1076 754 21 33 46 0
1 0 0 589108 848796 2390680 0 0 0 0 1077 702 22 33 46 0
1 0 0 629604 825368 2374436 0 0 0 30 1024 685 20 32 47 0
1 0 0 631012 825368 2372948 0 0 0 20 1029 682 21 33 46 0
结果分析:
Procs
r:等待执行的任务数
b:处在非中断睡眠状态的进程数
展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了
Memory
swpd:正在使用的swap大小单位K
free:空闲的内存空间
buff:已使用的buff大小,对块设备的读写进行缓冲
cache:已使用的cache大小,文件系统的cache
inact:
active:
Swap
si:交换内存使用,由磁盘调入内存
so:交换内存使用,由内存调入磁盘
IO
bi:从块设备读入的数据总量(读磁盘) (KB/s)
bo:写入到块设备的数据总理(写磁盘) (KB/s)
System
in:每秒产生的中断次数
cs:每秒产生的上下文切换次数
上面这2个值越大,会看到由内核消耗的CPU时间会越多
CPU
us:用户进程消耗的CPU时间百分比
us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了
sy:内核进程消耗的CPU时间百分比
sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。
id:空闲
wa:IO等待消耗的CPU时间百分比
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。
使用Linux性能分析工具
Linux在具有高穩定性、可靠性的同時,具有很好的可伸縮性和擴展性,
能夠針對不同的應用和硬件環境調整,優化出滿足當前應用需要的最佳性能。
因此企業在維護Linux系統、進行系統調優時,了解系統性能分析工具是至關重要的。
在Linux下有很多系統性能分析工具,
比較常見的有top、free、ps、time、timex、uptime等。
下文將介紹几個較為重要的性能分析工具vmstat、iostat和sar及其使用。
用vmstat監視內存使用情況
vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。
它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。
vmstat的語法如下:
vmstat [-V] [-n] [delay [count]]
其中,-V表示打印出版本信息;-n表示在周期性循環輸出時,輸出的頭部信息僅顯示一次;
delay是兩次輸出之間的延遲時間;count是指按照這個時間間隔統計的次數。
對于vmstat輸出各字段的含義,可運行man vmstat查看。
用iostat監視I/O子系統情況
iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。
它的特點是匯報磁盤活動統計情況,同時也會匯報出 CPU使用情況。
同vmstat一樣,iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情況進行分析。
iostat的語法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
其中,-c為匯報CPU的使用情況;-d為匯報磁盤的使用情況;-k表示每秒按kilobytes字節顯示數據;
-t為打印匯報的時間;-v表示打印出版本信息和用法;-x device指定要統計的設備名稱,默認為所有的設備;
interval指每次統計間隔的時間;count指按照這個時間間隔統計的次數。
使用sar進行綜合分析
sar是System Activity Reporter(系統活動情況報告)的縮寫。
顧名思義,sar工具將對系統當前的狀態進行取樣,然后通過計算數據和比例來表達系統的當前運行狀態。
它的特點是可以連續對系統取樣,獲得大量的取樣數據;取樣數據和分析的結果都可以存入文件,所需的負載很小。
sar是目前Linux上最為全面的系統性能分析工具之一,可以從14個大方面對系統的活動進行報告,
包括文件的讀寫情況、系統調用的使用情況、串口、CPU效率、內存使用狀況、進程活動及IPC有關的活動等,使用也是較為複雜。
sar的語法如下:
sar [-option] [-o file] t [n]
它的含義是每隔t秒取樣一次,共取樣n次。其中-o file表示取樣結果將以二進制形式存入文件file中。
sar option參數說明
選項 功能
-A 匯總所有的報告
-a 報告文件讀寫使用情況
-B 報告附加的緩存的使用情況
-b 報告緩存的使用情況
-c 報告系統調用的使用情況
-d 報告磁盤的使用情況
-g 報告串口的使用情況
-h 報告關于buffer使用的統計數據
-m 報告IPC消息隊列和信號量的使用情況
-n 報告命名cache的使用情況
-p 報告調頁活動的使用情況
-q 報告運行隊列和交換隊列的平均長度
-R 報告進程的活動情況
-r 報告沒有使用的內存頁面和硬盤塊
-u 報告CPU的利用率
-v 報告進程、i節點、文件和鎖表狀態
-w 報告系統交換活動狀況
-y 報告TTY設備活動狀況
另一種語法如下:
sar [-option] [-s time] [-e time] [-i sec] [-f file]
含義是表示從file文件中取出數據,如果沒有指定-f file,
則從標准數據文件/var/adm/sa/sadd取數據,其中dd表示當前天。
另外,-s time表示起始時間;-e time表示停止時間;
-i sec表示取樣的時間間隔,如果不指定則表示取文件中所有的數據。
一般它與-q和-u聯合使用,以便對每個CPU的使用情況進行分析,比如運行如下命令:
sar -q -u 5 1
由于sar命令太複雜,只有通過熟練使用才能了解每個選項的含義,
對于sar輸出中每個字段的含義運行man sar命令可以得到詳細的解釋。
參考資料:
http://saplingidea.javaeye.com/blog/526617
http://tw.myblog.yahoo.com/bullock0425/article?mid=-2&prev=534&l=a&fid=25
[root@hqu-mysql ~]# iostat -x
Linux 2.6.9-89.0.15.ELsmp (hqu-mysql) 2009年11月25日
avg-cpu: %user %nice %sys %iowait %idle
7.95 0.00 5.96 1.24 84.85
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
ida/c0d0 0.03 7.54 6.29 7.11 94.87 117.22 47.44 58.61 15.84 1.09 81.67 4.51 6.04
ida/c0d0p1 0.03 7.54 6.29 7.11 94.87 117.22 47.44 58.61 15.84 1.09 81.68 4.51 6.04
ida/c0d0p2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 45.66 0.00 12.72 10.03 0.00
数据库应该是有硬盘io延迟问题的。
结果详解:
% user 显示了在用户级(应用程序)执行时产生的 CPU 使用率百分比。
% sys 显示了在系统级(内核)执行时产生的 CPU 使用率百分比。
% idle 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。
% iowait 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。
rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目。即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数。即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数。即 delta(wio)/s
rsec/s: 每秒读扇区数。即 delta(rsect)/s
wsec/s: 每秒写扇区数。即 delta(wsect)/s
rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。
wkB/s: 每秒写K字节数。是 wsect/s 的一半。
avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区)。delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
await: 平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的。即 delta(use)/s/1000 (因为use的单位为毫秒)
简单分析:
如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
svctm 一般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。
队列长度(avgqu-sz)也可作为衡量系统 I/O 负荷的指标,但由于 avgqu-sz 是按照单位时间的平均值,所以不能反映瞬间的 I/O 洪水。
vmstat
[root@sends ~]# vmstat -a 2
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free inact active si so bi bo in cs us sy id wa
2 0 0 589428 847744 2391492 0 0 1 21 3 6 23 13 64 0
2 0 0 585972 848296 2394760 0 0 0 62 1076 754 21 33 46 0
1 0 0 589108 848796 2390680 0 0 0 0 1077 702 22 33 46 0
1 0 0 629604 825368 2374436 0 0 0 30 1024 685 20 32 47 0
1 0 0 631012 825368 2372948 0 0 0 20 1029 682 21 33 46 0
结果分析:
Procs
r:等待执行的任务数
b:处在非中断睡眠状态的进程数
展示了正在执行和等待CPU资源的任务个数。当这个值超过了CPU数目,就会出现CPU瓶颈了
Memory
swpd:正在使用的swap大小单位K
free:空闲的内存空间
buff:已使用的buff大小,对块设备的读写进行缓冲
cache:已使用的cache大小,文件系统的cache
inact:
active:
Swap
si:交换内存使用,由磁盘调入内存
so:交换内存使用,由内存调入磁盘
IO
bi:从块设备读入的数据总量(读磁盘) (KB/s)
bo:写入到块设备的数据总理(写磁盘) (KB/s)
System
in:每秒产生的中断次数
cs:每秒产生的上下文切换次数
上面这2个值越大,会看到由内核消耗的CPU时间会越多
CPU
us:用户进程消耗的CPU时间百分比
us 的值比较高时,说明用户进程消耗的CPU时间多,但是如果长期超过50% 的使用,那么我们就该考虑优化程序算法或者进行加速了
sy:内核进程消耗的CPU时间百分比
sy 的值高时,说明系统内核消耗的CPU资源多,这并不是良性的表现,我们应该检查原因。
id:空闲
wa:IO等待消耗的CPU时间百分比
wa 的值高时,说明IO等待比较严重,这可能是由于磁盘大量作随机访问造成,也有可能是磁盘的带宽出现瓶颈(块操作)。
使用Linux性能分析工具
Linux在具有高穩定性、可靠性的同時,具有很好的可伸縮性和擴展性,
能夠針對不同的應用和硬件環境調整,優化出滿足當前應用需要的最佳性能。
因此企業在維護Linux系統、進行系統調優時,了解系統性能分析工具是至關重要的。
在Linux下有很多系統性能分析工具,
比較常見的有top、free、ps、time、timex、uptime等。
下文將介紹几個較為重要的性能分析工具vmstat、iostat和sar及其使用。
用vmstat監視內存使用情況
vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫,可對操作系統的虛擬內存、進程、CPU活動進行監視。
它是對系統的整體情況進行統計,不足之處是無法對某個進程進行深入分析。
vmstat的語法如下:
vmstat [-V] [-n] [delay [count]]
其中,-V表示打印出版本信息;-n表示在周期性循環輸出時,輸出的頭部信息僅顯示一次;
delay是兩次輸出之間的延遲時間;count是指按照這個時間間隔統計的次數。
對于vmstat輸出各字段的含義,可運行man vmstat查看。
用iostat監視I/O子系統情況
iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。
它的特點是匯報磁盤活動統計情況,同時也會匯報出 CPU使用情況。
同vmstat一樣,iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情況進行分析。
iostat的語法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
其中,-c為匯報CPU的使用情況;-d為匯報磁盤的使用情況;-k表示每秒按kilobytes字節顯示數據;
-t為打印匯報的時間;-v表示打印出版本信息和用法;-x device指定要統計的設備名稱,默認為所有的設備;
interval指每次統計間隔的時間;count指按照這個時間間隔統計的次數。
使用sar進行綜合分析
sar是System Activity Reporter(系統活動情況報告)的縮寫。
顧名思義,sar工具將對系統當前的狀態進行取樣,然后通過計算數據和比例來表達系統的當前運行狀態。
它的特點是可以連續對系統取樣,獲得大量的取樣數據;取樣數據和分析的結果都可以存入文件,所需的負載很小。
sar是目前Linux上最為全面的系統性能分析工具之一,可以從14個大方面對系統的活動進行報告,
包括文件的讀寫情況、系統調用的使用情況、串口、CPU效率、內存使用狀況、進程活動及IPC有關的活動等,使用也是較為複雜。
sar的語法如下:
sar [-option] [-o file] t [n]
它的含義是每隔t秒取樣一次,共取樣n次。其中-o file表示取樣結果將以二進制形式存入文件file中。
sar option參數說明
選項 功能
-A 匯總所有的報告
-a 報告文件讀寫使用情況
-B 報告附加的緩存的使用情況
-b 報告緩存的使用情況
-c 報告系統調用的使用情況
-d 報告磁盤的使用情況
-g 報告串口的使用情況
-h 報告關于buffer使用的統計數據
-m 報告IPC消息隊列和信號量的使用情況
-n 報告命名cache的使用情況
-p 報告調頁活動的使用情況
-q 報告運行隊列和交換隊列的平均長度
-R 報告進程的活動情況
-r 報告沒有使用的內存頁面和硬盤塊
-u 報告CPU的利用率
-v 報告進程、i節點、文件和鎖表狀態
-w 報告系統交換活動狀況
-y 報告TTY設備活動狀況
另一種語法如下:
sar [-option] [-s time] [-e time] [-i sec] [-f file]
含義是表示從file文件中取出數據,如果沒有指定-f file,
則從標准數據文件/var/adm/sa/sadd取數據,其中dd表示當前天。
另外,-s time表示起始時間;-e time表示停止時間;
-i sec表示取樣的時間間隔,如果不指定則表示取文件中所有的數據。
一般它與-q和-u聯合使用,以便對每個CPU的使用情況進行分析,比如運行如下命令:
sar -q -u 5 1
由于sar命令太複雜,只有通過熟練使用才能了解每個選項的含義,
對于sar輸出中每個字段的含義運行man sar命令可以得到詳細的解釋。
參考資料:
http://saplingidea.javaeye.com/blog/526617
http://tw.myblog.yahoo.com/bullock0425/article?mid=-2&prev=534&l=a&fid=25
訂閱:
文章 (Atom)










