Tôi đang gặp sự cố trong đó linux dường như đang sử dụng trao đổi thay vì RAM. Đối với tôi, có vẻ như tôi đã kích hoạt một lỗi vì:
- Trao đổi dường như được sử dụng để lưu trữ dữ liệu được sử dụng thường xuyên,
hầu như không được sử dụng.
- Toàn bộ PC dường như phản ứng rất chậm với bất kỳ
lệnh (ví dụ: mở menu bắt đầu, chuyển đổi cửa sổ, bắt đầu
thiết bị đầu cuối mới, v.v.)
- mức sử dụng bộ nhớ hoán đổi là 100% khi tôi còn 28GB (hai mươi tám) RAM (đã sử dụng 4GB)
- Trao đổi được sử dụng cho các ứng dụng mà tôi vừa khởi chạy (ví dụ: chrome, R-studio) vì nó tăng lên khi tôi khởi chạy các ứng dụng này và được giải phóng khi tôi đóng chúng.
Có cách nào để lực lượng linux ngừng sử dụng trao đổi để cấp phát bộ nhớ mới? Tôi đã đặt tính hoán đổi thành 0.
CHỈNH SỬA:
Trước khi đặt câu hỏi, tôi đã thay đổi swappiness qua Sudo sysctl vm.swappiness=0
và tôi đã thực hiện thay đổi vĩnh viễn trong /etc/sysctl.conf
. Điều này đã không làm cho một sự khác biệt.Tôi chưa khởi động lại PC vì tôi có công việc đang chạy nhưng thời gian hoạt động chỉ là 3 ngày.
$ mèo /proc/sys/vm/swappiness
0
$ thời gian hoạt động
09:08:54 lên 3 ngày, 6 phút, 1 người dùng, tải trung bình: 1,90, 2,23, 2,45
$ uname -a
5.4.0-72-generic #80~18.04.1-Ubuntu SMP Thứ Hai ngày 12 tháng 4 23:26:25 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
$ miễn phí -m
tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Mem: 32022 1891 229 610 29901 29069
Hoán đổi: 2047 988 1059
EDIT2: Tôi đang chạy tập lệnh SQL đối với postgresql DB. Kịch bản rất dài nhưng chỉ bao gồm một số \copy(chọn ...)
câu lệnh kết xuất dữ liệu vào csvs. Tôi sẽ tưởng tượng không phải psql đang cản trở việc hoán đổi mà là hạt nhân quyết định sử dụng bộ nhớ nào?