Sự khác biệt chính xác giữa các tham số (pgpgin, pswpin) và (pswpout, pgpgout) trong / Proc / vmstat là gì?


9

Xin lưu ý rằng câu hỏi này chỉ dành riêng cho linux. Và bởi swap space, tôi có nghĩa là sự tận tâm swap partition.

Tôi đã làm googlemột chút về điều này, và tìm thấy những điều definitionssau:

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.

Bây giờ, bạn có thể muốn sao chép câu hỏi này với những câu hỏi về sự khác biệt giữa phân trang và hoán đổi. Nhưng tôi tìm kiếm thêm một chút. Tại bất kỳ thời điểm nào, những quầy này trong /proc/vmstatloại trừ lẫn nhau? Điều đó có nghĩa là, tham số pswpincó bao gồm một số đếm từ pgpginhoặc ngược lại không? Điều gì chính xác xảy ra khi một quá trình là deactivated? Nếu tất cả các trang của nó được chuyển sang swapkhông gian, thì chính xác nó khác với nhiều trang pageoutsnhư thế nào? Ngoài ra, nếu pageinxảy ra bất cứ khi nào xảy ra lỗi trang, người ta có thể nói gì về hai tham số còn lại pgmajfaultpgfaultliên quan đến sự kiện này? Có phải là trường hợp bất cứ khi nào pagefault (major? minor?)xảy ra, một tương ứng pageincũng xảy ra?

Sẽ rất hữu ích nếu một số chương trình ví dụ / điểm chuẩn được đề xuất để kiểm tra các tham số riêng lẻ này.

PS: Tôi có thể tiếp tục thêm / chỉnh sửa các câu hỏi :)


Bạn nên chuyển câu hỏi này đến unix.stackexchange.com
Antonio

Câu trả lời:


1
  1. pgpgin - Số kilobyte mà hệ thống đã phân trang từ đĩa mỗi giây.
  2. pgpgout - Số kilobyte mà hệ thống đã phân trang ra đĩa mỗi giây.
  3. pswpin - Số kilobyte mà hệ thống đã hoán đổi từ đĩa mỗi giây.
  4. pswpout - Số kilobyte mà hệ thống đã trao đổi vào đĩa mỗi giây.

5
Các giá trị không phải/proc/vmstat là mỗi giây, chúng là tổng số kể từ lần khởi động cuối cùng (xem linuxinsight.com/proc_vmstat.html ). Nếu bạn muốn giá trị tỷ lệ trong một số đơn vị thời gian, thì bạn cần phải có sự khác biệt giữa các giá trị - đó chính xác là những tiện ích thích và có thể làm cho bạn. /proc/vmstatvmstatsar
devkev

2
pswpin / pswpout là số lượng trang, không phải kilobyte.
George Sovetov

1

Đối với nhân Linux mới nhất pgpgin - Số kilobyte mà hệ thống đã phân trang từ đĩa mỗi giây. pgpgout - Số kilobyte mà hệ thống đã phân trang ra đĩa mỗi giây.

pswpin - Số trang mà hệ thống đã hoán đổi từ đĩa mỗi giây. pswpout - Số trang mà hệ thống đã trao đổi vào đĩa mỗi giây.

Pgpgin và pgpgout về cơ bản chỉ ra hoạt động IO.

Như đã chỉ ra trong email


2
pswpi / pswpout = trang vào / ra không kilobyte vào / ra
IanB

5
Các giá trị không phải/proc/vmstat là mỗi giây, chúng là tổng số kể từ lần khởi động cuối cùng (xem linuxinsight.com/proc_vmstat.html ). Nếu bạn muốn giá trị tỷ lệ trong một số đơn vị thời gian, thì bạn cần phải có sự khác biệt giữa các giá trị - đó chính xác là những tiện ích thích và có thể làm cho bạn. /proc/vmstatvmstatsar
devkev

1

Vì vậy, câu hỏi cũ và không có câu trả lời chính xác cho đến nay.

Trước hết, bộ nhớ được phân chia bởi CPU và Kernel thành các trang được gọi là. Kích thước trang được đưa ra bởi kiến ​​trúc của CPU, nhiều kiến ​​trúc hỗ trợ nhiều kích thước trang khác nhau, nhưng kích thước trang phổ biến nhất trong kiến ​​trúc x86_64 có kích thước 4KB. Các tham số mà bạn nói đến đang hiển thị có bao nhiêu trang bộ nhớ được đọc / ghi vào đĩa và có bao nhiêu trong số chúng được trao đổi.

Hãy nhớ rằng trang trong là một hoạt động bình thường trong nhân Linux, nó xảy ra hầu như mọi lúc khi bạn tải một tệp nhị phân từ đĩa (không được lưu vào bộ nhớ cache) vào bộ nhớ hoạt động - đó là mỗi khi bạn khởi động bất kỳ ứng dụng nào.

Bởi vì các hoạt động pgin và pgout không phải lúc nào cũng là điều bạn cần lo lắng, các bộ đếm bổ sung được tạo ra chỉ chứa thông tin để trao đổi - đó là bộ đếm pswpin và pswpout - chúng được tăng lên khi một trang bộ nhớ được ghi vào trao đổi hoặc khi nó được đọc từ trao đổi.

Một lần nữa - điều này cũng không chỉ ra vấn đề, nó chỉ chỉ ra vấn đề trong một số trường hợp nhất định - chẳng hạn như khi bạn thấy những con số này thay đổi rất nhiều trong khoảng thời gian ngắn (thường là khi hệ thống của bạn hết bộ nhớ).

Vì vậy, tóm lại:

  • pgpgin, pgpgout - số trang được đọc từ đĩa và ghi vào bộ nhớ, bạn thường không cần quan tâm nhiều đến những con số này
  • pswpin, pswpout - bạn có thể muốn theo dõi những con số này mỗi lần (thông qua một số giám sát như prometheus), nếu có đột biến, điều đó có nghĩa là hệ thống bị tráo đổi nhiều và bạn gặp vấn đề
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.