<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>icez network &#187; tools</title>
	<atom:link href="http://www.icez.net/blog/tags/tools/feed" rel="self" type="application/rss+xml" />
	<link>http://www.icez.net/blog</link>
	<description>Technical Blog by icez network</description>
	<lastBuildDate>Mon, 30 Jan 2012 17:31:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>0103 &#124; top &#8211; Linux Administrative Tools</title>
		<link>http://www.icez.net/blog/715/top-linux-administrative-tools</link>
		<comments>http://www.icez.net/blog/715/top-linux-administrative-tools#comments</comments>
		<pubDate>Fri, 09 Jul 2010 12:41:01 +0000</pubDate>
		<dc:creator>icez</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[monitor]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[top]]></category>

		<guid isPermaLink="false">http://www.icez.net/blog/?p=715</guid>
		<description><![CDATA[เอามาลง blog ตัวเองซักที&#8230; &#8221; top &#8220; (capture ช้าไปสองวิ เสียดายจัง) ไม่ต้องลงเพิ่ม ติดมากับ os อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน หรือถ้าทำหายไป มันจะอยู่ใน package &#8220;procps&#8221; ครับ มันบอกอะไรบ้าง ไล่ทีละบรรทัด เลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า) บรรทัดบนสุด top &#8211; 09:13:20 up 187 days,&#160; 8:40,&#160; 1 user,&#160; load average: 0.43, 0.66, 0.61 สีแดง: เวลาปัจจุบันของ server สีเขียว: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา) [...]]]></description>
			<content:encoded><![CDATA[<p>เอามาลง blog ตัวเองซักที&#8230;</p>
<h1>&#8221; top &#8220;</h1>
<p><a href="http://upic.me/e5w8j" target="_blank"><img border="0" src="http://upic.me/i/mc/ke4ac.png" alt="" /></a><br />
(capture  ช้าไปสองวิ เสียดายจัง)</p>
<p>ไม่ต้องลงเพิ่ม ติดมากับ os  อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน<br />
หรือถ้าทำหายไป มันจะอยู่ใน  package &#8220;procps&#8221; ครับ</p>
<p><strong>มันบอกอะไรบ้าง</strong><br />
ไล่ทีละบรรทัด เลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน  อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า)</p>
<p>บรรทัดบนสุด<br />
top &#8211; <span style="color: red;">09:13:20</span> <span style="color: green;">up 187 days,&nbsp; 8:40</span>,&nbsp; <span style="color: purple;">1 user</span>,&nbsp; <span style="color: blue;">load average: 0.43, 0.66, 0.61</span><br />
<span style="color: red;">สีแดง</span>: เวลาปัจจุบันของ server<br />
<span style="color: green;">สีเขียว</span>: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา)<br />
<span style="color: purple;">สีม่วง</span>: จำนวน user ที่ login เข้าไปใน shell (การ login หน้าเครื่อง + ssh ที่เปิด terminal เท่านั้น)<br />
<span style="color: blue;">สีน้ำเงิน</span>: load average : ปริมาณงานที่ &#8220;ค้าง&#8221; ในระบบ<span class="bbc_u">เฉลี่ย</span> ในรอบ 1 , 5 และ 15 นาทีตามลำดับ</p>
<p>บรรทัดที่ 2: บรรทัดนี้จะบอกข้อมูลเกี่ยวกับ process ในเครื่องครับ<br />
Tasks: <span style="color: red;">183 total</span>,   <span style="color: green;">3 running</span>, <span style="color: purple;">180 sleeping</span>,   <span style="color: blue;">0 stopped</span>,   <span style="color: pink;">0 zombie</span><br />
<span style="color: red;">สีแดง</span>: จำนวน process ทั้งหมด<br />
<span style="color: green;">สีเขียว</span>: จำนวน process ที่กำลังเรียกใช้ CPU อยู่ &#8220;ณ เวลานั้นๆ&#8221;<br />
<span style="color: purple;">สีม่วง</span>: จำนวน process ที่ไม่มีการทำงาน/ไม่มีการเรียกใช้ CPU อยู่<br />
<span style="color: blue;">สีน้ำเงิน</span>: process ที่อยู่ในสถานะ &#8220;หยุด&#8221; (ไอนี้ไม่แน่ใจครับ คู่มือมันเขียนแบบนั้นแต่ผมไม่เคยเห็นตัวเลขขึ้นซักที)<br />
<span style="color: pink;">สีชมพู</span>: process ผีดิบ <img class="smiley" title="lol" src="http://www.thaihosttalk.com/Smileys/default/biggrin.gif" border="0" alt="lol" /> มันคือ process ที่ตาย/จบการทำงานไปแล้ว แต่ยังไม่สามารถ clear ออกจากหน่วยความจำได้ ส่วนมากจะเป็นพวก process ที่รอการตอบสนองจาก hardware ต่างๆ อยู่ครับ (รวมถึงแรมด้วย)</p>
<p>บรรทัดที่ 3: การใช้งาน CPU  อันนี้มีของเล่นนิดหน่อยครับ สำหรับเครื่องที่ cpu หลาย core หรือหลาย cpu<br />
Cpu(s):   4.0%us,  0.7%sy,  0.0%ni, 94.1%id,  0.9%wa,  0.0%hi,  0.3%si,  0.0%st</p>
<p>สังเกต ดีๆ มันจะเขียนหน้าบรรทัดว่า Cpu(s) &lt;&#8211; ตรง (s) หมายความว่าเป็นภาพรวม  cpu ทุก core<br />
ให้กดแป้นพิมพ์เลข 1 ตรงแป้นพิมพ์ธรรมดา ที่อยู่ข้างๆ  ปุ่มตัวหนอน (` / ~) แล้วมันจะแตกออกมาเป็นแบบนี้ครับ</p>
<p>Cpu0  :  27.6%us,  7.2%sy,  0.2%ni, 53.6%id, 10.9%wa,  0.0%hi,  0.5%si,  0.0%st<br />
Cpu1   : 28.1%us,  7.2%sy,  0.1%ni, 55.3%id,  9.0%wa,  0.0%hi,  0.4%si,   0.0%st<br />
Cpu2  : 27.8%us,  7.0%sy,  0.2%ni, 62.0%id,  2.8%wa,  0.0%hi,   0.2%si,  0.0%st<br />
Cpu3  : 28.1%us,  7.3%sy,  0.2%ni, 58.8%id,   3.4%wa,  0.2%hi,  2.1%si,  0.0%st</p>
<p>แยกกันให้เห็นหมดเลย ว่า CPU  ไหนกำลังทำอะไรอยู่<br />
ทีนี้ แต่ละ column ที่มีตัวอักษรย่อสองตัว  มีความหมายต่างกันตามนี้ครับ</p>
<p>us =&gt; user :: เป็นการเรียกใช้ CPU  ตามปกติของโปรแกรม ที่เป็นการประมวลผลภายในโปรแกรมนั้นๆ<br />
sy =&gt; system  :: การเรียกใช้คำสั่งในระดับ kernel ที่มีการประมวลผลอยู่ภายใน kernel  โดยไม่เรียกใช้ hardware<br />
ni =&gt; nice ::  การจัดลำดับความสำคัญของการประมวลผล (priority) ไว้สลับการทำงานของ process  ที่มี priority ต่างๆ กันเวลาเรียกใช้ cpu พร้อมๆ กัน<br />
id =&gt; idle ::  cpu ที่ว่างงาน<br />
wa =&gt; iowait :: เป็นการ &#8216;เสีย เวลารอ&#8217; การเรียกใช้ และติดต่อกับ hardware ตั้งแต่ harddisk ram  การ์ดจอ การ์ดแลน (แต่ส่วนใหญ่ก็ harddisk แหละ)<br />
hi =&gt; ?<br />
si =&gt;  ? (สามอันนี้ขออภัยด้วยครับ ไม่ทราบจริงๆ  ส่วนมากก็ไม่ค่อยขึ้นมาให้เห็นเท่าไหร่ด้วย)<br />
st =&gt; ?</p>
<p>บรรทัดที่ 4-5: เกี่ยวกับหน่วยความจำ ขอรวบเป็นหัวข้อเดียวเลยนะครับ เพราะมันเกี่ยวข้องกัน<br />
Mem:&nbsp; &nbsp;<span style="color: red;">8310380k total</span>,&nbsp; <span style="color: pink;">4970936k used</span>,&nbsp; <span style="color: green;">3339444k free</span>,&nbsp; &nbsp;<span style="color: orange;">217448k buffers</span><br />
Swap:&nbsp; <span style="color: purple;">6225904k total</span>,&nbsp; &nbsp; <span style="color: blue;">52816k used</span>,&nbsp; <span style="color: brown;">6173088k free</span>,&nbsp; 3001860k cached<br />
<span style="color: red;">สีแดง</span>: RAM ทั้งหมดที่ติดตั้งไว้ และ OS มองเห็น (หมายถึงหน่วยความจำหลักอย่างเดียวครับ)<br />
<span style="color: pink;">สีชมพู</span>: ใช้แรมไปแล้ว &#8220;ทั้งหมด&#8221; เท่าไหร่<br />
<span style="color: green;">สีเขียว</span>: แรมที่ยังว่างจริงๆ (คือไม่ได้จองให้กับอะไรเลย)<br />
<span style="color: orange;">สีส้ม</span>: แรมที่ถูกใช้เป็น buffer ที่พักข้อมูลก่อนที่จะมีการอ่าน/เขียนลง harddisk หรือ CPU<br />
<span style="color: purple;">สีม่วง</span>: swap space พื้นที่แรมเสมือนทั้งหมด ที่ใช้พื้นที่จาก harddisk เก็บข้อมูลแทนแรม &#8212; บน windows มันจะมีชื่อว่า pagefile<br />
<span style="color: blue;">สีน้ำเงิน</span>: ปริมาณการใช้งาน swap space มากน้อยไม่ใช่ปัญหาเท่าไหร่ (ถึงมันจะไม่ควรใช้ก็ตาม) แต่ถ้าตัวเลขแกว่งไปมา (พร้อมกับ iowait พุ่ง) หมายความว่ามีปัญหาแรมไม่พอจนต้องมาเขียนลง swap space<br />
<span style="color: brown;">สีน้ำตาล</span>: พื้นที่ swap space ที่ไม่ได้ใช้งาน<br />
สีดำ: เป็น file system memory cache ครับ คือ linux จะมีการใช้ ram เพื่อเก็บข้อมูลไฟล์ที่มีการเรียกใช้งานบ่อยๆ ไว้ใน ram (เผื่อมีอะไรก็อ่านเอาจากแรมไปเลย เร็วกว่าเยอะ)</p>
<p>วิธีคิดพื้นที่ แรมว่าง ให้คิดจาก free + cached ไม่นับพื้นที่ cache  เป็นพื้นที่ที่มีการใช้งาน<br />
เพราะมันจะถูกลบออกได้เสมอถ้ามีความต้องการ ใช้แรมจาก process เยอะๆ</p>
<p>ส่วนพื้นที่ที่เหลือด้านล่าง  จะเป็นรายการ process ทั้งหมด (แสดงเท่าที่พื้นที่จอเหลือ)<br />
เรียงลำดับ ตามปริมาณการใช้งาน CPU ของ process นั้นๆ (เปลี่ยนได้ครับ)</p>
<p>มีหัว ข้อตามนี้<br />
<strong>PID : หมายเลข process id<br />
USER : user ที่ process  ทำงาน<br />
</strong>PR : priority ของ process ที่ nice เท่ากัน<br />
NI :  รหัส nice เรียงความสำคัญของ process (ยิ่งน้อยยิ่งสำคัญ)<br />
VIRT :  ปริมาณการใช้งาน virtual image ทั้งหมด (ตั้งแต่ process  ยันเตไปถึงการเรียก library)<br />
RES / SHR : การใช้แรมส่วนของ private  (เฉพาะภายใน app) / shared (ram กลางของระบบ)<br />
S : สถานะของ process<br />
%CPU  : ปริมาณการใช้งาน CPU (นับต่อ core นะครับ) สมมติ cpu 4 core + process  รัน 4 thread แต่ละ thread เรียกใช้ cpu เต็มที่ มันก็ขึ้น 400  ขึ้นมาได้เหมือนกัน<br />
%MEM : ปริมาณการใช้งาน ram เป็น %<br />
TIME+ :  &#8220;ระยะเวลา&#8221; ที่เรียกใช้ CPU ทั้งหมดตั้งแต่รัน process (เพราะ process  ไม่ได้ทำงานตลอดเวลา)<br />
COMMAND : คำสั่งที่ใช้รัน process</p>
<p>ลูก เล่นเพิ่มเติมของ top สามารถหาอ่านได้จากคำสั่ง man top นะครับ<br />
มีอีก เพียบ นี่แค่แซมเปิ้ลๆ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.icez.net/blog/715/top-linux-administrative-tools/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.icez.net @ 2012-02-10 17:15:59 -->
