อะไรคือความแตกต่างที่แน่นอนระหว่างพารามิเตอร์ (pgpgin, pswpin) และ (pswpout, pgpgout) ใน / proc / vmstat?


9

โปรดทราบว่าคำถามนี้เฉพาะกับคำถามlinuxเท่านั้น และโดยที่ผมหมายถึงเฉพาะswap spaceswap partition

ฉันทำgoogleสิ่งนี้เล็กน้อยและพบสิ่งเหล่านี้definitions:

Paging refers to writing portions, termed pages, of a process’ memory to disk.
Swapping, strictly speaking, refers to writing the entire process, not just part, to disk.
In Linux, true swapping is exceedingly rare, but the terms paging and swapping
often are used interchangeably.

และ

page-out: The system's free memory is less than a threshold "lotsfree" and unnused / least used pages are moved to the swap area.
page-in: One process which is running requested for a page that is not in the current memory (page-fault), it's pages are being brought back to memory.
swap-out: System is thrashing and has deactivated a process and it's memory pages are moved into the swap area.
swap-in: A deactivated process is back to work and it's pages are being brought into the memory.

ตอนนี้คุณอาจต้องการทำซ้ำคำถามนี้กับคำถามที่ถามถึงความแตกต่างระหว่างการสลับหน้าและการสลับ แต่ฉันขออีกเล็กน้อย ณ จุดใดเวลาหนึ่งตัวนับเหล่านี้เป็น/proc/vmstatเอกสิทธิ์เฉพาะบุคคลหรือไม่ โดยที่ฉันหมายความว่าพารามิเตอร์pswpinรวมบางนับจากpgpginหรือข้อรอง? จะเกิดอะไรขึ้นเมื่อกระบวนการคือdeactivatedอะไร? หากเพจทั้งหมดถูกย้ายไปยังswapพื้นที่ว่างแล้วมันแตกต่างจากหน้าเว็บหลายหน้าpageoutsอย่างไร นอกจากนี้หากpageinเกิดขึ้นเมื่อใดก็ตามที่เกิดความผิดพลาดของหน้าหนึ่งเราสามารถพูดอะไรได้บ้างเกี่ยวกับพารามิเตอร์อีกสองรายการpgmajfaultและpgfaultเกี่ยวกับเหตุการณ์นี้ มันเป็นกรณีที่เมื่อใดก็ตามที่pagefault (major? minor?)เกิดขึ้นที่สอดคล้องกันpageinเกิดขึ้น?

มันจะมีประโยชน์ถ้ามีตัวอย่างโปรแกรม / การวัดประสิทธิภาพที่แนะนำให้ทดสอบพารามิเตอร์แต่ละตัว

PS: ฉันอาจเพิ่ม / แก้ไขคำถาม :)


คุณควรจะย้ายคำถามนี้ไปที่unix.stackexchange.com
Antonio

คำตอบ:


1
  1. pgpgin - จำนวนกิโลไบต์ที่ระบบได้รับเพจจากดิสก์ต่อวินาที
  2. pgpgout - จำนวนกิโลไบต์ที่ระบบแบ่งเพจออกเป็นดิสก์ต่อวินาที
  3. pswpin - จำนวนกิโลไบต์ที่ระบบเปลี่ยนจากดิสก์ต่อวินาที
  4. pswpout - จำนวนกิโลไบต์ที่ระบบสลับไปยังดิสก์ต่อวินาที

5
ค่าใน/proc/vmstatมีความไม่ต่อวินาทีพวกเขาจะรวมตั้งแต่การบูตที่ผ่านมา (ดูlinuxinsight.com/proc_vmstat.html ) หากคุณต้องการค่าอัตราในบางหน่วยเวลาคุณจะต้องใช้ความแตกต่างระหว่าง/proc/vmstatค่าต่างๆซึ่งเป็นสิ่งที่ยูทิลิตี้ชอบvmstatและsarสามารถทำเพื่อคุณได้
devkev

2
pswpin / pswpout คือจำนวนหน้าไม่ใช่กิโลไบต์
George Sovetov

1

สำหรับเคอร์เนล Linux ล่าสุด pgpgin - จำนวนกิโลไบต์ระบบได้เพจจากดิสก์ต่อวินาที pgpgout - จำนวนกิโลไบต์ที่ระบบแบ่งเพจออกเป็นดิสก์ต่อวินาที

pswpin - จำนวนหน้าระบบได้สลับจากดิสก์ต่อวินาที pswpout - จำนวนหน้าระบบได้สลับไปยังดิสก์ต่อวินาที

pgpgin และ pgpgout แสดงกิจกรรมของ IO เป็นหลัก

ตามที่ระบุไว้ในอีเมล


2
pswpi / pswpout = หน้าเข้า / ออกไม่ได้เป็นกิโลไบต์ / ออก
IanB

5
ค่าใน/proc/vmstatมีความไม่ต่อวินาทีพวกเขาจะรวมตั้งแต่การบูตที่ผ่านมา (ดูlinuxinsight.com/proc_vmstat.html ) หากคุณต้องการค่าอัตราในบางหน่วยเวลาคุณจะต้องใช้ความแตกต่างระหว่าง/proc/vmstatค่าต่างๆซึ่งเป็นสิ่งที่ยูทิลิตี้ชอบvmstatและsarสามารถทำเพื่อคุณได้
devkev

1

คำถามเก่าและไม่มีคำตอบที่ถูกต้องเพื่อให้ห่างไกล

ประการแรกหน่วยความจำถูกแบ่งส่วนโดย CPU และเคอร์เนลลงในเพจที่เรียกว่า ขนาดของหน้าถูกกำหนดโดยสถาปัตยกรรมของ CPU สถาปัตยกรรมจำนวนมากสนับสนุนขนาดหน้าแตกต่างกัน แต่ขนาดหน้าโดยทั่วไปในสถาปัตยกรรม x86_64 มีขนาด 4KB พารามิเตอร์เหล่านี้ที่คุณพูดถึงแสดงจำนวนหน้าหน่วยความจำที่มีการอ่าน / เขียนไปยังดิสก์และมีการสลับจำนวนเท่าใด

โปรดทราบว่าหน้าในเป็นกิจกรรมปกติในเคอร์เนล Linux มันเกิดขึ้นเกือบทุกครั้งเมื่อคุณโหลดไบนารีจากดิสก์ (ที่ไม่ได้แคช) ลงในหน่วยความจำปฏิบัติการ - นั่นคือทุกครั้งที่คุณเริ่มโปรแกรมประยุกต์ใด ๆ

เนื่องจากการดำเนินการ pgin และ pgout ไม่ได้เป็นสิ่งที่คุณต้องกังวลเสมอเคาน์เตอร์เพิ่มเติมจึงถูกสร้างขึ้นซึ่งมีข้อมูลเฉพาะสำหรับการแลกเปลี่ยน - นั่นคือ pswpin และ pswpout ตัวนับ - จะเพิ่มขึ้นเมื่อหน้าหน่วยความจำถูกเขียนลงใน swap หรือเมื่ออ่านจาก แลกเปลี่ยน

อีกครั้ง - สิ่งนี้ไม่ได้ระบุปัญหาเพียงระบุปัญหาในบางสถานการณ์ - เช่นเมื่อคุณเห็นตัวเลขเหล่านี้มีการเปลี่ยนแปลงอย่างมากในช่วงเวลาสั้น ๆ (ซึ่งโดยปกติจะเป็นเมื่อระบบของคุณมีหน่วยความจำไม่เพียงพอ)

สรุปแล้ว:

  • pgpgin, pgpgout - จำนวนหน้าที่อ่านจากดิสก์และเขียนไปยังหน่วยความจำคุณมักไม่จำเป็นต้องสนใจตัวเลขเหล่านี้มากนัก
  • pswpin, pswpout - คุณอาจต้องการติดตามตัวเลขเหล่านี้ต่อเวลา (ผ่านการตรวจสอบบางอย่างเช่นโพร) หากมี spikes หมายความว่าระบบมีการแลกเปลี่ยนอย่างหนักและคุณมีปัญหา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.