System Watch สารพัดวิธีการเฝ้ามองระบบลีนุกซ์ copy จาก http://www.itdestination.com/articles/systemwatch/ | ||||||||||
โดย ธีรภัทร มนตรีศาสตร์,RHCE | ||||||||||
ผู้บริหารจัดการระบบปฏิบัติการลีนุกซ์มีภาระหน้าที่ที่จะต้องดูแลระบบต่างๆ
ภายในเครือข่ายให้มีความพร้อมอยู่เสมอที่จะทำหน้าที่ต่างๆ ที่ได้วางระบบไว้
หลังจากที่ระบบและแอปพลิเคชั่นทั้งหลายได้ทำงานเป็นไปตามที่ต้องการแล้ว
ก็ไม่ได้หมายความว่า ภารกิจของผู้บริหารระบบจะหมดลง
หากแต่ยังคงต้องเฝ้าตรวจตราความเปลี่ยนแปลงต่างๆ
ที่เกิดขึ้นในระบบต่อไปอีกอย่างต่อเนื่อง เพื่อให้ระบบมีสภาพที่ดีอยู่เสมอ จุดประสงค์ของการเฝ้ามองระบบ
ดังนั้นจะเห็นว่า ลำพังเฉพาะคำสั่งพื้นฐานทั่วไปในระบบปฏิบัติการ ก็สามารถช่วยงานด้านการเฝ้ามองระบบได้แล้ว ทักษะในการใช้คำสั่งต่างๆ ของผู้ปฏิบัติงานจึงมีความสำคัญ และจำเป็นต้องศึกษาเพื่อสามารถนำมาใช้ได้ในสภาพการทำงานปรกติที่ต้องรู้ สถานะของระบบอยู่เสมอหรือทันทีทันใดที่ต้องการ
![]() รูปที่ 1 ตัวอย่างผลลัพธ์คำสั่ง vmstat -d ![]() รูปที่ 2 การใช้คำสั่ง lsof แสดงความสัมพันธ์ระหว่างโปรแกรมกับโปรเซส โปรเซสทั้งหลายได้อย่างชัดเจน โดยสาระสำคัญที่สุดคงเป็นตัวเลขซ้ายมือสุด ซึ่งเป็นหมายเลข โปรเซส (PID) ![]() รูปที่ 3 ตัวอย่างผลลัพธ์คำสั่ง ps aF มากกว่า ![]() รูปที่ 4 การมอนิเตอร์ภาพรวมของระบบด้วยคำสั่ง top ![]() รูปที่ 5 โปรแกรม htop ที่มีคุณสมบัติเหนือกว่าคำสั่ง top ![]() รูปที่ 6 การใช้คำสั่ง fuser แสดงการเปิดไฟล์ของยูสเซอร์ ![]() รูปที่ 7 เปรียบเทียบผลลัพธ์คำสั่ง w และ who ![]() รูปที่ 8 ผลลัพธ์คำสั่ง last เครือ ข่ายก็เช่นกัน เช่น ถ้าเราต้องการรู้ว่ามีการติดต่อเข้าออกที่โฮสต์ของเรามากน้อยแค่ไหน คำสั่งง่ายๆ เช่น iptables ก็สามารถรายงานได้แล้ว ดังรูปที่ 9 จะเห็นว่าอ๊อปชั่น -v จะทำให้แสดงจำนวน แพคเกตและไบต์ที่ไหลผ่าน chain ต่างๆ ได้ โดยเป็นปริมาณข้อมูลแบบภาพรวมนั่นเอง เล็กน้อยก็จะได้ระบบเฝ้ามองโปรโตคอลและทิศทางการสื่อสารขึ้นใช้งานแล้ว ![]() รูปที่ 9 การใช้คำสั่ง iptables แสดงจำนวนแพคเก็ต โปรโตคอล ช่วยให้เห็นภาพรวมของการรับส่งข้อมูลได้เป็นอย่างดี ![]() รูปที่ 10 ตัวอย่างผลลัพธ์คำสั่ง netstat ดิสทริบิวชั่น หมายความว่า โปรแกรมนี้มักจะมีมาพร้อมในชุดโปรแกรมติดตั้งลีนุกซ์เลยทีเดียว ตามรูปที่ 11 จะเห็นว่า เราสามารถใช้โปรแกรม IPTraf นี้ในการมอนิเตอร์ระบบเครือข่ายโดยแยกตามชนิดของโปรโตคอลได้อย่างสวยงาม ทำให้ง่ายต่อการอ่านผลลัพธ์ (รันโปรแกรมโดยใช้คำสั่ง iptraf -s eth0 ) ![]() รูปที่ 11 การใช้โปรแกรม iptraf แสดงพอร์ตที่เชื่อมต่ออยู่ ![]() รูปที่ 12 ตัวอย่างการใช้คำสั่ง watch ![]() รูปที่ 13 รายงานที่ได้จากคำสั่ง sar สนับ สนุนการรายงานข้อมูลจากระบบได้เช่นกัน หากพิจารณาเท่าที่มีมาพร้อมแล้วในเดสทอปแบบ KDE จะมีแอปเพล็ตเล็กๆ ให้ติดตั้งใช้งานได้ทันที (ดังรูป 14) โดยคลิ๊กขวาบน Main Panel แล้วเลือก Add applet to panel... จากนั้นก็จะมีรายชื่อ Applet ให้เลือกติดตั้งได้ตามใจชอบ ที่เห็นนี้เป็น Applet ชื่อ System Guard และ System Monitor ![]() รูปที่ 14 KDE Applet ที่ช่วยแสดงสถานะของระบบ ![]() รูปที่ 15 การแสดงผลของ KInfoCenter |
วันอาทิตย์ที่ 15 ธันวาคม พ.ศ. 2556
System Watch สารพัดวิธีการเฝ้ามองระบบลีนุกซ์
Delphi Thread sendmessage
type
TThreadWithMsg = class(TThread)
private
{ Private declarations }
procedure WMUser(var Msg: TWMNoParams); message WM_USER;
protected
procedure Execute; override;
end;
{ TThreadWithMsg }
procedure TThreadWithMsg.Execute;
var
Msg: TMsg;
DMsg: TMessage;
begin
PeekMessage(Msg,0,0,0,PM_NOREMOVE); // Create Message Queue
while not Terminated do begin
Sleep(10); // don't eat CPU cycles
if PeekMessage(Msg,0,0,0,PM_REMOVE) then begin
DMsg.Msg:=Msg.message;
DMsg.wParam:=Msg.wParam;
DMsg.lParam:=Msg.lParam;
DMsg.Result:=0;
Dispatch(DMsg);
end;
end;
end;
procedure TThreadWithMsg.WMUser(var Msg: TWMNoParams);
begin
Beep(440,100);
end;
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
MyThread:=TThreadWithMsg.Create(False);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
MyThread.Terminate;
MyThread.WaitFor;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PostThreadMessage(MyThread.ThreadID,WM_USER,0,0);
end;
TThreadWithMsg = class(TThread)
private
{ Private declarations }
procedure WMUser(var Msg: TWMNoParams); message WM_USER;
protected
procedure Execute; override;
end;
{ TThreadWithMsg }
procedure TThreadWithMsg.Execute;
var
Msg: TMsg;
DMsg: TMessage;
begin
PeekMessage(Msg,0,0,0,PM_NOREMOVE); // Create Message Queue
while not Terminated do begin
Sleep(10); // don't eat CPU cycles
if PeekMessage(Msg,0,0,0,PM_REMOVE) then begin
DMsg.Msg:=Msg.message;
DMsg.wParam:=Msg.wParam;
DMsg.lParam:=Msg.lParam;
DMsg.Result:=0;
Dispatch(DMsg);
end;
end;
end;
procedure TThreadWithMsg.WMUser(var Msg: TWMNoParams);
begin
Beep(440,100);
end;
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
MyThread:=TThreadWithMsg.Create(False);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
MyThread.Terminate;
MyThread.WaitFor;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
PostThreadMessage(MyThread.ThreadID,WM_USER,0,0);
end;
คำสั่ง top บน linux บอกอะไรได้บ้าง
คำสั่ง top บน linux บอกอะไรได้บ้าง
http://www.admin.in.th/webboard/index.php?topic=442.0

(capture ช้าไปสองวิ เสียดายจัง)
ไม่ต้องลงเพิ่ม ติดมากับ os อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน
หรือถ้าทำหายไป มันจะอยู่ใน package "procps" ครับ
มันบอกอะไรบ้าง
ไล่ทีละบรรทัดเลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า)
บรรทัดบนสุด
top - 09:13:20 up 187 days, 8:40,1 user, load average: 0.43, 0.66, 0.61
สีแดง: เวลาปัจจุบันของ server
สีเขียว: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา)
สีม่วง: จำนวน user ที่ login เข้าไปใน shell (การ login หน้าเครื่อง + ssh ที่เปิด terminal เท่านั้น)
สีน้ำเงิน: load average : ปริมาณงานที่ "ค้าง" ในระบบเฉลี่ย ในรอบ 1 , 5 และ 15 นาทีตามลำดับ
บรรทัดที่ 2: บรรทัดนี้จะบอกข้อมูลเกี่ยวกับ process ในเครื่องครับ
Tasks: 183 total, 3 running, 180 sleeping, 0 stopped, 0 zombie
สีแดง: จำนวน process ทั้งหมด
สีเขียว: จำนวน process ที่กำลังเรียกใช้ CPU อยู่ "ณ เวลานั้นๆ"
สีม่วง: จำนวน process ที่ไม่มีการทำงาน/ไม่มีการเรียกใช้ CPU อยู่
สีน้ำเงิน: process ที่อยู่ในสถานะ "หยุด" (ไอนี้ไม่แน่ใจครับ คู่มือมันเขียนแบบนั้นแต่ผมไม่เคยเห็นตัวเลขขึ้นซักที)
สี ชมพู: process ผีดิบ lol มันคือ process ที่ตาย/จบการทำงานไปแล้ว แต่ยังไม่สามารถ clear ออกจากหน่วยความจำได้ ส่วนมากจะเป็นพวก process ที่รอการตอบสนองจาก hardware ต่างๆ อยู่ครับ (รวมถึงแรมด้วย
บรรทัดที่ 3: การใช้งาน CPU อันนี้มีของเล่นนิดหน่อยครับ สำหรับเครื่องที่ cpu หลาย core หรือหลาย cpu
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
สังเกตดีๆ มันจะเขียนหน้าบรรทัดว่า Cpu(s) <-- ตรง (s) หมายความว่าเป็นภาพรวม cpu ทุก core
ให้กดแป้นพิมพ์เลข 1 ตรงแป้นพิมพ์ธรรมดา ที่อยู่ข้างๆ ปุ่มตัวหนอน (` / ~) แล้วมันจะแตกออกมาเป็นแบบนี้ครับ
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
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
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
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
แยกกันให้เห็นหมดเลย ว่า CPU ไหนกำลังทำอะไรอยู่
ทีนี้ แต่ละ column ที่มีตัวอักษรย่อสองตัว มีความหมายต่างกันตามนี้ครับ
us => user :: เป็นการเรียกใช้ CPU ตามปกติของโปรแกรม ที่เป็นการประมวลผลภายในโปรแกรมนั้นๆ
sy => system :: การเรียกใช้คำสั่งในระดับ kernel ที่มีการประมวลผลอยู่ภายใน kernel โดยไม่เรียกใช้ hardware
ni => nice :: การจัดลำดับความสำคัญของการประมวลผล (priority) ไว้สลับการทำงานของ process ที่มี priority ต่างๆ กันเวลาเรียกใช้ cpu พร้อมๆ กัน
id => idle :: cpu ที่ว่างงาน
wa => iowait :: เป็นการ 'เสียเวลารอ' การเรียกใช้ และติดต่อกับ hardware ตั้งแต่ harddisk ram การ์ดจอ การ์ดแลน (แต่ส่วนใหญ่ก็ harddisk แหละ)
hi => ?
si => ? (สามอันนี้ขออภัยด้วยครับ ไม่ทราบจริงๆ ส่วนมากก็ไม่ค่อยขึ้นมาให้เห็นเท่าไหร่ด้วย)
st => ?
บรรทัดที่ 4-5: เกี่ยวกับหน่วยความจำ ขอรวบเป็นหัวข้อเดียวเลยนะครับ เพราะมันเกี่ยวข้องกัน
Mem: 8310380k total, 4970936k used, 3339444k free, 217448k buffers
Swap: 6225904k total, 52816k used, 6173088k free, 3001860k cached
สีแดง: RAM ทั้งหมดที่ติดตั้งไว้ และ OS มองเห็น (หมายถึงหน่วยความจำหลักอย่างเดียวครับ)
สีชมพู: ใช้แรมไปแล้ว "ทั้งหมด" เท่าไหร่
สีเขียว: แรมที่ยังว่างจริงๆ (คือไม่ได้จองให้กับอะไรเลย)
สีส้ม: แรมที่ถูกใช้เป็น buffer ที่พักข้อมูลก่อนที่จะมีการอ่าน/เขียนลง harddisk หรือ CPU
สีม่วง: swap space พื้นที่แรมเสมือนทั้งหมด ที่ใช้พื้นที่จาก harddisk เก็บข้อมูลแทนแรม --- บน windows มันจะมีชื่อว่า pagefile
สี น้ำเงิน: ปริมาณการใช้งาน swap space มากน้อยไม่ใช่ปัญหาเท่าไหร่ (ถึงมันจะไม่ควรใช้ก็ตาม) แต่ถ้าตัวเลขแกว่งไปมา (พร้อมกับ iowait พุ่ง) หมายความว่ามีปัญหาแรมไม่พอจนต้องมาเขียนลง swap space
สีน้ำตาล: พื้นที่ swap space ที่ไม่ได้ใช้งาน
สี ดำ: เป็น file system memory cache ครับ คือ linux จะมีการใช้ ram เพื่อเก็บข้อมูลไฟล์ที่มีการเรียกใช้งานบ่อยๆ ไว้ใน ram (เผื่อมีอะไรก็อ่านเอาจากแรมไปเลย เร็วกว่าเยอะ)
วิธีคิดพื้นที่แรมว่าง ให้คิดจาก free + cached ไม่นับพื้นที่ cache เป็นพื้นที่ที่มีการใช้งาน
เพราะมันจะถูกลบออกได้เสมอถ้ามีความต้องการใช้แรมจาก process เยอะๆ
ส่วนพื้นที่ที่เหลือด้านล่าง จะเป็นรายการ process ทั้งหมด (แสดงเท่าที่พื้นที่จอเหลือ)
เรียงลำดับตามปริมาณการใช้งาน CPU ของ process นั้นๆ (เปลี่ยนได้ครับ)
มีหัวข้อตามนี้
PID : หมายเลข process id
USER : user ที่ process ทำงาน
PR : priority ของ process ที่ nice เท่ากัน
NI : รหัส nice เรียงความสำคัญของ process (ยิ่งน้อยยิ่งสำคัญ)
VIRT : ปริมาณการใช้งาน virtual image ทั้งหมด (ตั้งแต่ process ยันเตไปถึงการเรียก library)
RES / SHR : การใช้แรมส่วนของ private (เฉพาะภายใน app) / shared (ram กลางของระบบ)
S : สถานะของ process
%CPU : ปริมาณการใช้งาน CPU (นับต่อ core นะครับ) สมมติ cpu 4 core + process รัน 4 thread แต่ละ thread เรียกใช้ cpu เต็มที่ มันก็ขึ้น 400 ขึ้นมาได้เหมือนกัน
%MEM : ปริมาณการใช้งาน ram เป็น %
TIME+ : "ระยะเวลา" ที่เรียกใช้ CPU ทั้งหมดตั้งแต่รัน process (เพราะ process ไม่ได้ทำงานตลอดเวลา)
COMMAND : คำสั่งที่ใช้รัน process
top สามารถหาอ่านได้จากคำสั่ง man top นะครับ
คัดลอกมาจากhttp://www.admin.in.th/webboard/index.php?topic=442.0
http://www.admin.in.th/webboard/index.php?topic=442.0

(capture ช้าไปสองวิ เสียดายจัง)
ไม่ต้องลงเพิ่ม ติดมากับ os อยู่แล้วไม่ว่าจะลงแบบ minimal ขนาดไหน
หรือถ้าทำหายไป มันจะอยู่ใน package "procps" ครับ
มันบอกอะไรบ้าง
ไล่ทีละบรรทัดเลยนะครับ (คิดจากค่าปกติของ centos ซึ่ง os อื่นๆ ก็คล้ายๆ กัน อาจมีแตกต่างบ้างแล้วแต่การปรับตั้งค่า)
บรรทัดบนสุด
top - 09:13:20 up 187 days, 8:40,1 user, load average: 0.43, 0.66, 0.61
สีแดง: เวลาปัจจุบันของ server
สีเขียว: uptime (ระยะเวลาตั้งแต่ boot OS ขึ้นมา)
สีม่วง: จำนวน user ที่ login เข้าไปใน shell (การ login หน้าเครื่อง + ssh ที่เปิด terminal เท่านั้น)
สีน้ำเงิน: load average : ปริมาณงานที่ "ค้าง" ในระบบเฉลี่ย ในรอบ 1 , 5 และ 15 นาทีตามลำดับ
บรรทัดที่ 2: บรรทัดนี้จะบอกข้อมูลเกี่ยวกับ process ในเครื่องครับ
Tasks: 183 total, 3 running, 180 sleeping, 0 stopped, 0 zombie
สีแดง: จำนวน process ทั้งหมด
สีเขียว: จำนวน process ที่กำลังเรียกใช้ CPU อยู่ "ณ เวลานั้นๆ"
สีม่วง: จำนวน process ที่ไม่มีการทำงาน/ไม่มีการเรียกใช้ CPU อยู่
สีน้ำเงิน: process ที่อยู่ในสถานะ "หยุด" (ไอนี้ไม่แน่ใจครับ คู่มือมันเขียนแบบนั้นแต่ผมไม่เคยเห็นตัวเลขขึ้นซักที)
สี ชมพู: process ผีดิบ lol มันคือ process ที่ตาย/จบการทำงานไปแล้ว แต่ยังไม่สามารถ clear ออกจากหน่วยความจำได้ ส่วนมากจะเป็นพวก process ที่รอการตอบสนองจาก hardware ต่างๆ อยู่ครับ (รวมถึงแรมด้วย
บรรทัดที่ 3: การใช้งาน CPU อันนี้มีของเล่นนิดหน่อยครับ สำหรับเครื่องที่ cpu หลาย core หรือหลาย cpu
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
สังเกตดีๆ มันจะเขียนหน้าบรรทัดว่า Cpu(s) <-- ตรง (s) หมายความว่าเป็นภาพรวม cpu ทุก core
ให้กดแป้นพิมพ์เลข 1 ตรงแป้นพิมพ์ธรรมดา ที่อยู่ข้างๆ ปุ่มตัวหนอน (` / ~) แล้วมันจะแตกออกมาเป็นแบบนี้ครับ
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
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
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
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
แยกกันให้เห็นหมดเลย ว่า CPU ไหนกำลังทำอะไรอยู่
ทีนี้ แต่ละ column ที่มีตัวอักษรย่อสองตัว มีความหมายต่างกันตามนี้ครับ
us => user :: เป็นการเรียกใช้ CPU ตามปกติของโปรแกรม ที่เป็นการประมวลผลภายในโปรแกรมนั้นๆ
sy => system :: การเรียกใช้คำสั่งในระดับ kernel ที่มีการประมวลผลอยู่ภายใน kernel โดยไม่เรียกใช้ hardware
ni => nice :: การจัดลำดับความสำคัญของการประมวลผล (priority) ไว้สลับการทำงานของ process ที่มี priority ต่างๆ กันเวลาเรียกใช้ cpu พร้อมๆ กัน
id => idle :: cpu ที่ว่างงาน
wa => iowait :: เป็นการ 'เสียเวลารอ' การเรียกใช้ และติดต่อกับ hardware ตั้งแต่ harddisk ram การ์ดจอ การ์ดแลน (แต่ส่วนใหญ่ก็ harddisk แหละ)
hi => ?
si => ? (สามอันนี้ขออภัยด้วยครับ ไม่ทราบจริงๆ ส่วนมากก็ไม่ค่อยขึ้นมาให้เห็นเท่าไหร่ด้วย)
st => ?
บรรทัดที่ 4-5: เกี่ยวกับหน่วยความจำ ขอรวบเป็นหัวข้อเดียวเลยนะครับ เพราะมันเกี่ยวข้องกัน
Mem: 8310380k total, 4970936k used, 3339444k free, 217448k buffers
Swap: 6225904k total, 52816k used, 6173088k free, 3001860k cached
สีแดง: RAM ทั้งหมดที่ติดตั้งไว้ และ OS มองเห็น (หมายถึงหน่วยความจำหลักอย่างเดียวครับ)
สีชมพู: ใช้แรมไปแล้ว "ทั้งหมด" เท่าไหร่
สีเขียว: แรมที่ยังว่างจริงๆ (คือไม่ได้จองให้กับอะไรเลย)
สีส้ม: แรมที่ถูกใช้เป็น buffer ที่พักข้อมูลก่อนที่จะมีการอ่าน/เขียนลง harddisk หรือ CPU
สีม่วง: swap space พื้นที่แรมเสมือนทั้งหมด ที่ใช้พื้นที่จาก harddisk เก็บข้อมูลแทนแรม --- บน windows มันจะมีชื่อว่า pagefile
สี น้ำเงิน: ปริมาณการใช้งาน swap space มากน้อยไม่ใช่ปัญหาเท่าไหร่ (ถึงมันจะไม่ควรใช้ก็ตาม) แต่ถ้าตัวเลขแกว่งไปมา (พร้อมกับ iowait พุ่ง) หมายความว่ามีปัญหาแรมไม่พอจนต้องมาเขียนลง swap space
สีน้ำตาล: พื้นที่ swap space ที่ไม่ได้ใช้งาน
สี ดำ: เป็น file system memory cache ครับ คือ linux จะมีการใช้ ram เพื่อเก็บข้อมูลไฟล์ที่มีการเรียกใช้งานบ่อยๆ ไว้ใน ram (เผื่อมีอะไรก็อ่านเอาจากแรมไปเลย เร็วกว่าเยอะ)
วิธีคิดพื้นที่แรมว่าง ให้คิดจาก free + cached ไม่นับพื้นที่ cache เป็นพื้นที่ที่มีการใช้งาน
เพราะมันจะถูกลบออกได้เสมอถ้ามีความต้องการใช้แรมจาก process เยอะๆ
ส่วนพื้นที่ที่เหลือด้านล่าง จะเป็นรายการ process ทั้งหมด (แสดงเท่าที่พื้นที่จอเหลือ)
เรียงลำดับตามปริมาณการใช้งาน CPU ของ process นั้นๆ (เปลี่ยนได้ครับ)
มีหัวข้อตามนี้
PID : หมายเลข process id
USER : user ที่ process ทำงาน
PR : priority ของ process ที่ nice เท่ากัน
NI : รหัส nice เรียงความสำคัญของ process (ยิ่งน้อยยิ่งสำคัญ)
VIRT : ปริมาณการใช้งาน virtual image ทั้งหมด (ตั้งแต่ process ยันเตไปถึงการเรียก library)
RES / SHR : การใช้แรมส่วนของ private (เฉพาะภายใน app) / shared (ram กลางของระบบ)
S : สถานะของ process
%CPU : ปริมาณการใช้งาน CPU (นับต่อ core นะครับ) สมมติ cpu 4 core + process รัน 4 thread แต่ละ thread เรียกใช้ cpu เต็มที่ มันก็ขึ้น 400 ขึ้นมาได้เหมือนกัน
%MEM : ปริมาณการใช้งาน ram เป็น %
TIME+ : "ระยะเวลา" ที่เรียกใช้ CPU ทั้งหมดตั้งแต่รัน process (เพราะ process ไม่ได้ทำงานตลอดเวลา)
COMMAND : คำสั่งที่ใช้รัน process
top สามารถหาอ่านได้จากคำสั่ง man top นะครับ
คัดลอกมาจากhttp://www.admin.in.th/webboard/index.php?topic=442.0
สมัครสมาชิก:
บทความ (Atom)