天天看點

linux記憶體UB,linux - kmalloc-256似乎占用了大部分記憶體資源。 我怎麼能解脫這個? - 堆棧記憶體溢出...

我有一個運作Jenkins的Linux執行個體(Amazon Linux Linux ip-xxx 4.9.20-11.31.amzn1.x86_64 #1 )。 由于缺少工作所需的記憶體,它偶爾會停止工作。

基于我對free指令和/proc/meminfo ,似乎Slab占用了執行個體上可用的大部分記憶體。

[[email protected] ~]# free -tm

total used free shared buffers cached

Mem: 7985 7205 779 0 19 310

-/+ buffers/cache: 6876 1108

Swap: 0 0 0

Total: 7985 7205 779

[[email protected] ~]# cat /proc/meminfo | grep "Slab\|claim"

Slab: 6719244 kB

SReclaimable: 34288 kB

SUnreclaim: 6684956 kB

我可以通過運作echo 3 > /proc/sys/vm/drop_caches找到清除dentry緩存的方法,但是如何清除kmalloc-256 ? 或者,有沒有辦法找到哪個程序使用kmalloc-256記憶體空間?

[[email protected] ~]# slabtop -o | head -n 15

Active / Total Objects (% used) : 26805556 / 26816810 (100.0%)

Active / Total Slabs (% used) : 837451 / 837451 (100.0%)

Active / Total Caches (% used) : 85 / 111 (76.6%)

Active / Total Size (% used) : 6696903.08K / 6701323.05K (99.9%)

Minimum / Average / Maximum Object : 0.01K / 0.25K / 8.00K

OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME

26658528 26658288 99% 0.25K 833079 32 6664632K kmalloc-256

21624 21009 97% 0.12K 636 34 2544K kernfs_node_cache

20055 20055 100% 0.19K 955 21 3820K dentry

10854 10646 98% 0.58K 402 27 6432K inode_cache

10624 9745 91% 0.03K 83 128 332K kmalloc-32

7395 7395 100% 0.05K 87 85 348K ftrace_event_field

6912 6384 92% 0.02K 27 256 108K kmalloc-16

6321 5581 88% 0.19K 301 21 1204K cred_jar