Tắt trao đổi chỉ cho một quá trình với cgroups?


15

Tôi muốn tắt trao đổi chỉ cho một quá trình. Hoán đổi nên hoạt động như bình thường cho các quá trình khác.

Làm thế nào tôi có thể thực hiện điều này với các nhóm?

Câu trả lời:


9

Từ tài liệu kernel liên quan đến memory.swappiness:

5.3 swappiness

Tương tự như / Proc / sys / vm / swappiness, nhưng chỉ ảnh hưởng đến hệ thống phân cấp của các nhóm.

Theo sau sự thay đổi của cgroups không thể thay đổi.
- cgroup gốc (sử dụng / Proc / sys / vm / swappiness).
- một nhóm sử dụng hệ thống phân cấp và nó có các nhóm khác bên dưới nó.
- một nhóm sử dụng phân cấp và không phải là gốc của phân cấp.

Từ Cổng thông tin khách hàng của Red Hat:

memory.swappiness

đặt xu hướng của kernel để trao đổi bộ nhớ tiến trình được sử dụng bởi các tác vụ trong nhóm này thay vì lấy lại các trang từ bộ đệm của trang. Đây là cùng một xu hướng, được tính theo cùng một cách, như được đặt trong / Proc / sys / vm / swappiness cho toàn bộ hệ thống. Giá trị mặc định là 60. Các giá trị thấp hơn 60 làm giảm xu hướng trao đổi bộ nhớ của hạt nhân, các giá trị lớn hơn 60 làm tăng xu hướng của hạt nhân để trao đổi bộ nhớ quá trình và các giá trị lớn hơn 100 cho phép hạt nhân trao đổi các trang là một phần của không gian địa chỉ của các quá trình trong nhóm này.

Lưu ý rằng giá trị 0 không ngăn bộ nhớ quá trình bị tráo đổi; hoán đổi vẫn có thể xảy ra khi thiếu bộ nhớ hệ thống vì logic quản lý bộ nhớ ảo toàn cầu không đọc giá trị cgroup. Để khóa hoàn toàn các trang, sử dụng mlock () thay vì cgroups.

:: Bạn không thể thay đổi sự hoán đổi của các nhóm sau:
* nhóm gốc, sử dụng tập hợp swappiness trong / Proc / sys / vm / swappiness.
* một nhóm có nhóm con bên dưới nó.

EDIT: Nếu bạn muốn biết chính xác cách đặt nó, bạn đặt chính xác như hầu hết các thuộc tính cgroup khác:

 # cd /mnt/cgroup/<cgroupName>
 # cat memory.swappiness
 60
 # echo "59 " > memory.swappiness
 # cat memory.swappiness
 59

Điều gì về chỉ cho các tập tin bên trong /tmpgắn kết như tmpfs? unix.stackexchange.com/q/146490/56970
CMCDragonkai

Thật tốt khi bạn trích dẫn phần có liên quan của tài liệu kernel ở đây - liên kết bị hỏng.
mgarey

Liên kết đến tài liệu kernel linux bị hỏng. Sử dụng cái này thay vì kernel.org/doc/Documentation/cgroup-v1/memory.txt
Andrew Eisenberg

@AndrewEisenberg Hãy chỉnh sửa câu trả lời nếu bạn muốn
Bratchley

Hmmm ... sẽ không cho phép tôi. Nói rằng chỉnh sửa phải lớn hơn 6 ký tự. Có lẽ không đủ danh tiếng.
Andrew Eisenberg
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.