Top command แสดงผล sum %CPU เกิน 100% ได้อย่างไรครับ

background

1-ผมเพิ่งจะ reboot เครื่องได้ตอนเช้าตรู่วันนี้เอง

2-ทำไมเมื่อเพิ่งจะ restart server (CentOS) แต่ process ของเครื่องมันแสดงผลว่าเครื่องทำงานมาได้
126.53.50 time+ คือมันเกินเวลาที่ server รันตั้งแต่ reboot ใหม่ขึ้นมาด้วยซ้ำ

3-ค่า %cpu ทำไมค่าผมรวม CPU มันเกิน 100% ได้ละครับ

4-คุณพี่คำสั่ง dir, ls , netstat -n นี่ทำไมไม่มี list แบบหน้าต่อหน้าให้ใช้เลยผมต้องใช้ syntax อะไรเป็นส่วนประกอบครับ
อยากให้แสดงหน้าต่อหน้า

5-linux มันไม่มีการทำ defragment บ้างหรือครับ ต้องกด command อะไรเอ่ย

มีเรื่องจาก unix อีกมากมายที่น่าสงสัย น่าเรียนรู้จริงๆ ชีวิตที่เหลือยู่ขออุทิศให้กับ UNIX ก็แล้วกัน

ขอบคุณครับ

  1. อืมม
    2.0.๐
    3.ในอัตราส่วนของ cpu ที่ใช้ไป 23.9% เป็นของ httpd 84 และ mysql 29 นอกนั้น บลาๆๆ (ว่าแต่มันก็แปลกๆดี -*-)
    edit: technology grid server ของ mt มั้งครับ ที่สามารถไปดึง cpu จาก เครื่องอื่นๆได้ นอกจากเครื่องตัวเอง
    อย่างที่บอกไปว่า ระวังการใช้หน่วย cpu เข้าไว้ ไม่งั้นจะโดนชาร์ตเป็น พัน$++ (เตือนรอบที่เท่าไรไม่รู้ล่ะ - -")
  2. ls -al | more
    5.จะ defragment ทำไมล่ะครับ - -"

0.google.com/search?q=$keyword

คุณพี่ผมใช้ VPS-rage ครับ
ตอนนี้มี ram ประมาณ 1.5 gig แล้วครับ
กะว่าจะรับระบบไปได้สักพักแล้วจะย้ายมาเมืองไทยแล้วครับ

เอาตามที่ผเข้าใจไปเองนะ ไม่รู้เข้าใจถูกหรือเปล่า

2-ทำไมเมื่อเพิ่งจะ restart server (CentOS) แต่ process ของเครื่องมันแสดงผลว่าเครื่องทำงานมาได้
126.53.50 time+ คือมันเกินเวลาที่ server รันตั้งแต่ reboot ใหม่ขึ้นมาด้วยซ้ำ

นาที (0-…) . วินาที (0-60) . เสี้ยววินาที (0-100)

อ๋อสำหรับคำถามเรื่อง

  • netstat -n เวลาผมกดคำสั่งนี้เพื่อที่จะดูว่าใครเข้ามาในระบบบ้างมันจะวิ่งๆๆๆๆๆ ดูไม่ทันเลยครับทำแบบเป็นหน้าๆได้ป่าว
  • เป็นมือใหม่นะครับคือ web อันหนึ่งเวลาคนต่อเข้ามามันจะ load เต็มไปหมดเลยคือมี ip same same ซ้ำกันแต่มาคนละ port
    หากว่าต้องการรู็แค่ IP (ที่ไม่ซ้ำกัน) อันไหนบ้างที่ต่อ web ผมมานี่ netstat ช่วยได้ไหมครับ

netstat -n|more (จะหยุดเป็น page)

เรื่อง uptime ที่ไม่เริ่มต้นใหม่… ลองแจ้งให้ทางผู้ดูแลทำการ reboot vps ให้แล้วดู uptime เทียบกันดูครับ
และให้สังเกตุด้วยว่า memory ได้คืนมาไหม

ส่วน cpu time process ไม่ต้องไปตกใจอะไรมากครับ บางครั้งก็มีการ share process overhead แทรกๆเข้ามา ไม่ต้องไปคิดมากเรื่องนี้

เอ่อ… ผลรวม cpu ที่มันเกิน cpu ด้านบน
พอเปิด top แล้วกดเลข 1 (ข้างๆ ปุ่มตัวหนอน) นะครับ แล้วจะเข้าใจ

ตรงรายการ process ด้านล่างมันเป็น %cpu ที่ใช้ “รวมทั้งหมด”
(สมมติโปรแกรมมี 2 thread ใช้ cpu เต็ม 100% ตรงช่องนั้นมันก็ขึ้น 200 ได้ครับ)
ส่วนบรรทัดด้านบน มันเป็นค่าเฉลี่ยการใช้งาน CPU รวมกันทุก core แล้วหารด้วยจำนวน core เพื่อไม่ให้ทะลุ 100%

ทีนี้ ผลจาก %cpu ที่เกิน 100% ได้กรณี multi thread ก็ทำให้ cpu time มากกว่า uptime ได้
เพราะมันรันมา 1 ชั่วโมง แต่มัน process ใช้ cpu หลาย core เท่ากะคูณไปเลยครับว่าใช้เวลาเท่าไหร่

  • cpu time = ระยะเวลาทั้งหมดที่เรียกใช้การประมวลผลจาก cpu (รวมทุก core)
    เรียก 2 core พร้อมกัน ทำงานเสร็จใน 1 วินาทีก็จะเท่ากับใช้ cpu time 2 วินาทีครับ

ส่วนเรื่อง defragment นั้น… เนื่องจากด้วยโครงสร้าง partition ของ linux (ext2/3/4)
เอื้อให้เกิดการ fragment น้อยกว่า partition ของ windows (fat/ntfs) มาก
ต่อให้ใช้ไปนานๆ ก็จะไม่ค่อยเจอ fragment เพิ่มมากกว่าเดิมเท่าไหร่ เพราะฉะนั้น ไม่จำเป็นต้องทำ defragment ครับ

ขอบคุณๆ icez มากครับ ได้ความรู้เยอะเลย ไม่จำเป็นต้องทำ defragment แต่ถ้าจะทำละครับทำอย่างไร

move ไฟล์ไป partition ใหม่แล้ว move กลับครับ

ได้ความรู้จากคุณไอซ์เพิ่ม หลายเรื่องเลย ขอบคุณนะครับ

เยี่ยมที่สุดขอรับ

อยากจะทราบว่าการที่ระบบแจ้ง

load average คือปริมาณคิวงานที่ค้างเฉลี่ยในระบบครับ
ทั้งสามค่า เป็นค่าเฉลี่ยในรอบเวลาต่างๆ คือ 1 , 5 , 15 นาที

เป็นภาพรวมของระบบ ว่าทำงานได้ปกติดีรึเปล่า
ค่านี้ยิ่งน้อยยิ่งดี และไม่ควรเกิน 5 ครับ
(ค้างเฉลี่ย 5 งานในรอบ 1 นาทีเท่ากะระบบไม่สามารถประมวลผลงานที่ได้รับมาได้เสร็จทัน 5 งาน จนต้อง delay ต่อไปอีก)

มันมาจากหลายๆ ปัจจัย ทั้ง cpu / ram / hdd / vga / … อื่นๆ แล้วแต่เครื่อง

ขอบคุณมากครับเสธ…เทพสุดๆเลย กระผมเข้าใจแล้วครับ
ไอ้เราก็นึกว่ามันทำได้เป็น 100 100 100 สะอีก

ไอซ์กินอะไรเป็นอาหารครับ

เพิ่มเติมจากคุณ icez นิดนึนะครับ คือค่าแรกไม่ควรเกินจำนวน core นะครับเช่นถ้ามี 4 core ก็ไม่ควรเกิน 4 ไม่งั้นมันจะเป็นการ
overload ครับ

อันนี้เป็นตัวอย่างจาก wikipedia สำหรับ 1 core นะครับ 1.73 หมายความว่ามี 0.73 process รออยู่ใน queue

For example, a load average of “1.73 0.50 7.98” on a single-CPU system can be interpreted as:

อึม ได้ความรู้ดีครับ lol


พี่ท่านเจอแบบนี้เข้าไป

ท่าน icez เคยบอกว่าห้ามเกิน 5,5,5 load averate แล้วอย่างนี้เครื่องกะรผมจะไหวเหรอครับเนี่ย
ทำไมมันไม่ใช้ ram เท่าไหร่เลย load average ที่ maximum เครื่องเราจะทนได้นี่คือเท่าไหร่ครับ
100 100 100 ใช่อย่างนี้ป่าว ไปอ่านที่ unix มาเขาบอกว่าจริงๆแล้วค่ามันต้องเป็น 1 1 1 เพราะว่าแต่ละตัวคือค่า cpu spare เหอๆๆๆ งงแล้วเรา

อันนี้คือ load ขณะสถานะปกติหรือเปล่าครับ ถ้าเป็นขณะ backup หรือ scan virus ขึ้นแบบนี้เรื่องปกตินะครับ

คุณพี่ตอนนี้คือตอนเปิดเว็บใช้งานปกติครับ ไม่ได้ run scan หรือว่า backup L)