🤹♀️ Как сбросить кеш ядра Linux |

🤹♀️ Как сбросить кеш ядра Linux

Мануал

Бесплатные инструменты

Используйте утилиту sync для синхронизации памяти, ожидающей записи в постоянное хранилище.

$ sync

Изучите /proc/meminfo и убедитесь, что объем “грязной памяти”, ожидающей записи на диск (определяется в килобайтах), уменьшится.

Вы также можете заметить небольшой всплеск памяти Writeback, которая активно записывается обратно в постоянное хранилище, и WritebackTmp, который напрямую связан с FUSE (файловая система в пользовательском пространстве).

Изменения в использовании памяти до и после выдачи этой команды.

MemTotal:          16287088 kB             (
MemFree:            7688696 kB             | MemFree:         7713352 kB
MemAvailable:       8315048 kB             | MemAvailable:    8339800 kB
Buffers:              18452 kB             | Buffers:           18492 kB
Cached:             1836208 kB             | Cached:          1836268 kB
SwapCached:               0 kB             (
Active:             6457040 kB             | Active:          6430504 kB
Inactive:           1459164 kB             | Inactive:        1459204 kB
Active(anon):       6070180 kB             | Active(anon):    6043584 kB
Inactive(anon):     1021284 kB             (
Active(file):        386860 kB             | Active(file):     386920 kB
Inactive(file):      437880 kB             | Inactive(file):   437920 kB
Unevictable:             32 kB             (
Mlocked:                 32 kB             (
SwapTotal:           999420 kB             (
SwapFree:            999420 kB             (
Dirty:                21200 kB             | Dirty:                 0 kB    ←
Writeback:                0 kB             (
AnonPages:          6061728 kB             | AnonPages:       6035384 kB
Mapped:             1248224 kB             | Mapped:          1248260 kB
Shmem:              1029928 kB             (
Slab:                348728 kB             | Slab:             348748 kB
SReclaimable:        120864 kB             | SReclaimable:     120852 kB
SUnreclaim:          227864 kB             | SUnreclaim:       227896 kB
KernelStack:          29168 kB             | KernelStack:       29184 kB
PageTables:           91616 kB             | PageTables:        91656 kB
NFS_Unstable:             0 kB             (
Bounce:                   0 kB             (
WritebackTmp:             0 kB             (
CommitLimit:        9142964 kB             (
Committed_AS:      22529316 kB             | Committed_AS:   22536664 kB
VmallocTotal:   34359738367 kB             (
VmallocUsed:              0 kB             (
VmallocChunk:             0 kB             (
HardwareCorrupted:        0 kB             (
AnonHugePages:        38912 kB             (
ShmemHugePages:           0 kB             (
ShmemPmdMapped:           0 kB             (
CmaTotal:                 0 kB             (
CmaFree:                  0 kB             (
HugePages_Total:          0                (
HugePages_Free:           0                (
HugePages_Rsvd:           0                (
HugePages_Surp:           0                (
Hugepagesize:          2048 kB             (
DirectMap4k:         658988 kB             (
DirectMap2M:       11786240 kB             (
DirectMap1G:        5242880 kB

Используйте утилиту sysctl для выдачи команды ядру для аннулирования кэша страниц, который является основным дисковым кэшем, используемым, когда данные либо считываются с диска, либо записываются на диск.

$ sudo sysctl -w vm.drop_caches=1

Изучите /proc/meminfo, чтобы убедиться, что кэш страниц в памяти уменьшится.

Изменения в использовании памяти до и после выдачи этой команды.

MemTotal:          16287088 kB             (
MemFree:            1595736 kB             | MemFree:         7079620 kB
MemAvailable:       8339004 kB             | MemAvailable:    8325900 kB
Buffers:            1714248 kB             | Buffers:            1088 kB    ←
Cached:             5524636 kB             | Cached:          1853228 kB    ←
SwapCached:               0 kB             (
Active:             8972220 kB             | Active:          6319944 kB
Inactive:           4226696 kB             | Inactive:        1496236 kB
Active(anon):       5963252 kB             | Active(anon):    5962128 kB
Inactive(anon):     1063684 kB             | Inactive(anon):  1076596 kB
Active(file):       3008968 kB             | Active(file):     357816 kB    ←
Inactive(file):     3163012 kB             | Inactive(file):   419640 kB    ←
Unevictable:             32 kB             (
Mlocked:                 32 kB             (
SwapTotal:           999420 kB             (
SwapFree:            999420 kB             (
Dirty:                  296 kB             | Dirty:               968 kB 
Writeback:                0 kB             (
AnonPages:          5955404 kB             | AnonPages:       5957264 kB
Mapped:             1250196 kB             | Mapped:          1250348 kB
Shmem:              1066912 kB             | Shmem:           1076720 kB
Slab:               1149756 kB             | Slab:            1047280 kB
SReclaimable:        914580 kB             | SReclaimable:     812116 kB
SUnreclaim:          235176 kB             | SUnreclaim:       235164 kB
KernelStack:          29200 kB             | KernelStack:       29104 kB
PageTables:           91272 kB             | PageTables:        91288 kB
NFS_Unstable:             0 kB             (
Bounce:                   0 kB             (
WritebackTmp:             0 kB             (
CommitLimit:        9142964 kB             (
Committed_AS:      22527888 kB             | Committed_AS:   22538996 kB
VmallocTotal:   34359738367 kB             (
VmallocUsed:              0 kB             (
VmallocChunk:             0 kB             (
HardwareCorrupted:        0 kB             (
AnonHugePages:        38912 kB             (
ShmemHugePages:           0 kB             (
ShmemPmdMapped:           0 kB             (
CmaTotal:                 0 kB             (
CmaFree:                  0 kB             (
HugePages_Total:          0                (
HugePages_Free:           0                (
HugePages_Rsvd:           0                (
HugePages_Surp:           0                (
Hugepagesize:          2048 kB             (
DirectMap4k:         658988 kB             (
DirectMap2M:       11786240 kB             (
DirectMap1G:        5242880 kB             (

Используйте утилиту sysctl, чтобы выдать команду ядру для освобождения восстанавливаемых объектов slab, включая dentries и inode.

$ sudo sysctl -w vm.drop_caches=2

Изучите /proc/meminfo, чтобы убедиться, что память SReclaimable, выделенная для внутренних структур данных ядра, которые могут быть восстановлены, уменьшится.

Просмотрите /proc/slabinfo для подробной информации о кешировании inode, dentry.

Изменения в использовании памяти до и после выдачи этой команды

MemTotal:          16287088 kB             (
MemFree:            7078272 kB             | MemFree:         7827464 kB
MemAvailable:       8329644 kB             | MemAvailable:    8411084 kB
Buffers:               2564 kB             | Buffers:            3696 kB
Cached:             1843068 kB             | Cached:          1804908 kB
SwapCached:               0 kB             (
Active:             6334520 kB             | Active:          6341572 kB
Inactive:           1484256 kB             | Inactive:        1438124 kB
Active(anon):       5973268 kB             | Active(anon):    5979840 kB
Inactive(anon):     1062816 kB             | Inactive(anon):  1016812 kB
Active(file):        361252 kB             | Active(file):     361732 kB
Inactive(file):      421440 kB             | Inactive(file):   421312 kB
Unevictable:             32 kB             (
Mlocked:                 32 kB             (
SwapTotal:           999420 kB             (
SwapFree:            999420 kB             (
Dirty:                 1100 kB             | Dirty:              1568 kB
Writeback:                0 kB             (
AnonPages:          5968564 kB             | AnonPages:       5971180 kB
Mapped:             1249996 kB             | Mapped:          1248236 kB
Shmem:              1062948 kB             | Shmem:           1025484 kB
Slab:               1047264 kB             | Slab:             346196 kB
SReclaimable:        811972 kB             | SReclaimable:     118788 kB     ←
SUnreclaim:          235292 kB             | SUnreclaim:       227408 kB
KernelStack:          29120 kB             | KernelStack:       29136 kB
PageTables:           91416 kB             | PageTables:        91560 kB
NFS_Unstable:             0 kB             (
Bounce:                   0 kB             (
WritebackTmp:             0 kB             (
CommitLimit:        9142964 kB             (
Committed_AS:      22508796 kB             | Committed_AS:   22493648 kB
VmallocTotal:   34359738367 kB             (
VmallocUsed:              0 kB             (
VmallocChunk:             0 kB             (
HardwareCorrupted:        0 kB             (
AnonHugePages:        38912 kB             (
ShmemHugePages:           0 kB             (
ShmemPmdMapped:           0 kB             (
CmaTotal:                 0 kB             (
CmaFree:                  0 kB             (
HugePages_Total:          0                (
HugePages_Free:           0                (
HugePages_Rsvd:           0                (
HugePages_Surp:           0                (
Hugepagesize:          2048 kB             (
DirectMap4k:         658988 kB             (
DirectMap2M:       11786240 kB             (
DirectMap1G:        5242880 kB             (

Изменения в статистике распределителя slab ядра до и после выполнения этой команды.

$ sdiff -l -w 57 slabinfo.20 slabinfo.21
slabinfo - version: 2.1     (
# name            <active   (
nfs_direct_cache        0    (
nfs_read_data          68    (
nfs_inode_cache       102    | nfs_inode_cache      100     ←
fscache_cookie_jar      2    (
nf_conntrack         1727    | nf_conntrack        1752 
ovl_inode           43303    | ovl_inode           3096     ←
au_finfo                0    (
au_icntnr               0    (
au_dinfo                0    (
kvm_async_pf            0    (
kvm_vcpu                0    (
kvm_mmu_page_header          (
pte_list_desc           0    (
rpc_inode_cache        41    (
ext4_groupinfo_4k    7454    (
drm_i915_gem_request    9    (
i915_vma             2954    | i915_vma            2953 
drm_i915_gem_object   292    | drm_i915_gem_object  292
RAWv6                 464    (
UDPv6                 260    (
tw_sock_TCPv6          34    (
request_sock_TCPv6      0    (
TCPv6                 135    (
kcopyd_job              0    (
dm_uevent               0    (
cfq_io_cq             476    (
cfq_queue             510    (
bsg_cmd                 0    (
mqueue_inode_cache     62    (
fuse_request           67    (
fuse_inode             98    | fuse_inode            76     ←
ecryptfs_inode_cache         (
ecryptfs_auth_tok_list_it    (
fat_inode_cache        19    | fat_inode_cache        3     ←
fat_cache               0    (
squashfs_inode_cache  188    | squashfs_inode_cache  87     ←
jbd2_journal_head    1938    (
jbd2_revoke_table_s    25    (
ext4_inode_cache   469038    | ext4_inode_cache    7998     ←
ext4_allocation_context      (
ext4_io_end          1728    (
ext4_extent_status 244698    | ext4_extent_status 10710
mbcache              1898    (
fscrypt_info         1152    (
fscrypt_ctx           680    (
userfaultfd_ctx_cache        (
dio                   205    (
pid_namespace         312    (
posix_timers_cache    140    (
ip4-frags              23    (
xfrm_dst_cache          0    (
RAW                   776    | RAW                  896 
tw_sock_TCP            68    (
request_sock_TCP       52    (
TCP                   240    (
hugetlbfs_inode_cache        (
dquot                 256    (
eventpoll_pwq        6716    (
eventpoll_epi        8056    (
dax_cache               4    (
request_queue          40    (
dmaengine-unmap-256          (
dmaengine-unmap-128          (
sock_inode_cache     7046    (
file_lock_cache       321    (
net_namespace          33    (
shmem_inode_cache    7808    | shmem_inode_cache   7807     ←
taskstats             879    (
proc_inode_cache    20991    | proc_inode_cache    7381     ←
sigqueue              200    (
bdev_cache            105    (
kernfs_node_cache 146133     | kernfs_node_cache 141254 
mnt_cache            4087    (
filp                43510    | filp               44230 
inode_cache         34643    | inode_cache        23641     ←
dentry             736367    | dentry             53630     ←
iint_cache              0    (
lsm_file_cache      24003    | lsm_file_cache     24002 
iint_cache              0    (
buffer_head         15177    | buffer_head        15417 
nsproxy              1920    | nsproxy             1577 
vm_area_struct      86939    | vm_area_struct     87250 
mm_struct            1353    (
files_cache          1584    (
signal_cache         2357    (
sighand_cache        1434    (
task_struct          2364    | task_struct         2356 
cred_jar            11118    | cred_jar           11706 
anon_vma            41724    | anon_vma           41769 
pid                 74665    | pid                74853 
Acpi-Operand        11627    (
Acpi-ParseExt         624    (
Acpi-State           1377    (
Acpi-Namespace       6936    (
numa_policy            31    (
trace_event_file     1970    (
ftrace_event_field  37941    | ftrace_event_field 17566
radix_tree_node     19962    | radix_tree_node    19578 
task_group            420    (
dma-kmalloc-8192        0    (
dma-kmalloc-4096        0    (
dma-kmalloc-2048        0    (
dma-kmalloc-1024        0    (
dma-kmalloc-512         0    (
dma-kmalloc-256         0    (
dma-kmalloc-128         0    (
dma-kmalloc-64          0    (
dma-kmalloc-32          0    (
dma-kmalloc-16          0    (
dma-kmalloc-8           0    (
dma-kmalloc-192         0    (
dma-kmalloc-96          0    (
kmalloc-8192          607    | kmalloc-8192         588 
kmalloc-4096         2803    | kmalloc-4096        2768 
kmalloc-2048         5914    | kmalloc-2048        5749 
kmalloc-1024        12056    | kmalloc-1024       12030 
kmalloc-512         13772    | kmalloc-512        13765 
kmalloc-256         10834    | kmalloc-256        10775 
kmalloc-192         11681    | kmalloc-192        11147 
kmalloc-128         10545    | kmalloc-128         7556 
kmalloc-96          24952    | kmalloc-96         16292 
kmalloc-64         144963    | kmalloc-64         43284 
kmalloc-32         170695    | kmalloc-32        166264 
kmalloc-16          32519    (
kmalloc-8           22539    (
kmem_cache_node      4544    (
kmem_cache           4347    | kmem_cache          3654

Отключить регистрацию событий входа

При выдаче команды drop cache будет выдано сообщение журнала уровня KERN_INFO.

$ sudo sysctl -w vm.drop_caches=2
$ dmesg
[...]
[Wed Sep  5 03:02:39 2018] sysctl (12414): drop_caches: 2
[...]
$ echo 1 | sudo tee /proc/sys/vm/drop_caches
$ dmesg
[...]
[Wed Sep  5 03:05:38 2018] tee (12696): drop_caches: 1
[...]

Это сообщение журнала может быть отключено, хотя это действие будет зарегистрировано.

$ sudo sysctl -w vm.drop_caches=4
$ dmesg
[...]
[Wed Sep  5 03:08:39 2018] sysctl (12730): drop_caches: 4
[...]

Это предотвратит дальнейшие записи сообщений журнала, но его нельзя снова включить без перезагрузки системы, после чего он возобновит стандартные операции ведения журнала.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий