Bộ nhớ nào không được sử dụng bởi các tiến trình và được giải phóng bởi `echo 3> / Proc / sys / vm / drop_caches`?


7

Không có chương trình mở, máy tính của tôi sử dụng khoảng 512M bộ nhớ. Hôm qua, tôi không có gì mở, nhưng 2 GB sử dụng mem (đã sử dụng - cache = 2153):

             total       used       free     shared    buffers     cached
Mem:          3261       2875        386         30        199        523
-/+ buffers/cache:       2153       1108
Swap:         8187          0       8187

Top cho thấy không có quá trình đưa lên này:

top - 23:10:38 up 1 day, 14:35,  3 users,  load average: 0,31, 0,94, 1,29
Tasks: 172 total,   3 running, 169 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6,5 us,  4,2 sy,  0,0 ni, 89,1 id,  0,1 wa,  0,0 hi,  0,1 si,  0,0 st
KiB Mem:   3340164 total,  2937728 used,   402436 free,   201484 buffers
KiB Swap:  8384444 total,      180 used,  8384264 free.   531636 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 2520 halfgaar  20   0 3869744 173620  38568 S   1,6  5,2  52:20.03 plasma-desktop
 1535 root      20   0  246420 108512  40420 S   2,0  3,2  22:36.65 Xorg
 2665 halfgaar  20   0 1354660  50624  15116 R   0,0  1,5   0:10.08 krunner
 2513 halfgaar  20   0 2966468  48564  19280 S   0,0  1,5   0:34.62 kwin
 2306 halfgaar  20   0 1329360  41448  12488 S   0,0  1,2   0:09.80 kded4
 2675 halfgaar  20   0  796712  37360  13804 S   0,0  1,1   0:04.23 kmix
 2619 halfgaar  20   0  649136  34160  14204 S   0,0  1,0   0:00.95 akonadi_mailfil
 2629 halfgaar  20   0  621348  33860  13876 S   0,0  1,0   0:00.88 akonadi_sendlat
 2562 halfgaar  20   0 1242180  33212   2504 S   0,2  1,0   3:20.05 mysqld
 2611 halfgaar  20   0  649132  33048  14140 S   0,0  1,0   0:01.29 akonadi_archive
18552 halfgaar  20   0  508376  32948  24108 S   2,6  1,0   0:02.23 konsole
 2645 halfgaar  20   0  506340  32204   8796 S   0,0  1,0   0:05.13 mintUpdate
 2626 halfgaar  20   0  552648  31768  14152 S   0,0  1,0   0:00.93 akonadi_notes_a
 2430 halfgaar  20   0  556864  30052   9484 S   0,0  0,9   0:10.57 ksmserver
 2546 halfgaar  20   0  866520  28528  12584 S   0,0  0,9   0:04.34 knotify4
 2302 halfgaar  20   0  382404  26896  10112 S   0,0  0,8   0:01.17 kdeinit4
 2304 halfgaar  20   0  387792  23516   4892 S   0,0  0,7   0:00.55 klauncher
 2648 halfgaar  20   0  541576  22824  13864 S   0,0  0,7   0:01.36 polkit-kde-auth
 2623 halfgaar  20   0  390412  19216  13712 S   0,0  0,6   0:00.79 akonadi_newmail
 2615 halfgaar  20   0  340388  18200  13276 S   0,0  0,5   0:00.75 akonadi_maildis
 2621 halfgaar  20   0  303972  17884  13272 S   0,0  0,5   0:00.70 akonadi_migrati
 2612 halfgaar  20   0  306052  17856  13188 S   0,0  0,5   0:00.71 akonadi_followu
 2606 halfgaar  20   0  327700  16772  12600 S   0,0  0,5   0:00.53 akonadi_agent_l
 2613 halfgaar  20   0  321704  16740  12576 S   0,0  0,5   0:00.52 akonadi_agent_l
 2614 halfgaar  20   0  327680  16560  12420 S   0,0  0,5   0:00.54 akonadi_agent_l
 2325 halfgaar  20   0  735344  14928  10116 S   0,0  0,4   0:04.63 kactivitymanage
 2313 halfgaar  20   0  282096  14832   9488 S   0,0  0,4   0:00.74 kglobalaccel
 2554 halfgaar  20   0  276912  14472  10148 S   0,0  0,4   0:02.04 kuiserver

Chỉ để thử, tôi bỏ bộ nhớ cache:

echo 3 > /proc/sys/vm/drop_caches

Và sử dụng bộ nhớ giảm:

             total       used       free     shared    buffers     cached
Mem:          3261        850       2411         30          1         79
-/+ buffers/cache:        770       2491
Swap:         8187          0       8187

Làm sao có thể? Tại sao bộ đệm được lưu trữ theo cách mà kernel nghĩ rằng nó không phải là bộ đệm? Nó có thể là bộ nhớ cache của thư mục nhà được mã hóa ecryptfs của tôi không? Tôi đã chỉ chạy một bản sao lưu của nó, vì vậy rất nhiều tệp và dữ liệu meta trên đó đã được lưu trữ.

  • Bạc hà Linux 17.1
  • Hạt nhân 3.13.0-37

Bạn có chạy slabtopkhi nó đang xảy ra để xem liệu bất cứ thứ gì có vẻ liên quan đến mã hóa có nhiều bộ nhớ liên quan đến nó không?
Bratchley


Tôi sẽ phải sao chép nó trước, và sau đó tôi sẽ nhìn vào slabtop. Sẽ tiếp tục.
Halfgaar

Câu trả lời:


3

Viết 1 đến drop_caches chỉ làm giảm bộ đệm (dữ liệu). Cả 3 cũng bỏ bộ đệm của bộ đệm hoặc bộ đệm của tên các tệp trên đĩa. Nếu gần đây bạn đã làm việc với các thư mục chứa nhiều tệp nhỏ, thì điều đó sẽ giải thích cho nó.


Nó sẽ không Nó sẽ không được báo cáo là sử dụng bộ nhớ. Nó sẽ bị trừ trong cột trao đổi +/-, phải không?
Halfgaar

@Halfgaar, không, dòng +/- bộ đệm chỉ đếm bộ đệm dữ liệu chính. Bộ nhớ cache của răng là một phần của tấm nhân. Nó thường là nhiều nhỏ hơn so với bộ nhớ cache dữ liệu chính, nhưng có thể khá quan trọng nếu bạn đang làm việc với nhiều (như trong hàng trăm ngàn hay hàng triệu) các tập tin nhỏ.
psusi

Câu trả lời của bạn và tôi nhớ một cái gì đó là câu trả lời. Tôi đã thử nghiệm với vfs_cache_pressure. Tôi đã đặt nó thành một, để tạo ra một phiến lớn cho các nút và răng, nhưng tôi đã quên điều đó :)
Halfgaar
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.