shmem 사용량이 매우 높습니다

shmem 사용량이 매우 높습니다

정기적으로 작업 컴퓨터를 다운시키는 문제를 디버깅하려고 합니다. 이는 /proc/meminfo 출력을 기반으로 한 OOM 유형 문제입니다.

Total:       32902608 kB
MemFree:         4054100 kB
Buffers:           72696 kB
Cached:         18126492 kB
SwapCached:        57124 kB
Active:          4351400 kB
Inactive:       17526856 kB
Active(anon):    3737244 kB
Inactive(anon): 17065796 kB
Active(file):     614156 kB
Inactive(file):   461060 kB
Unevictable:          64 kB
Mlocked:              64 kB
SwapTotal:      11717628 kB
SwapFree:        4202224 kB
Dirty:               680 kB
Writeback:             0 kB
AnonPages:       3622052 kB
Mapped:           457156 kB
Shmem:          17123968 kB
Slab:            4184848 kB
SReclaimable:    1822044 kB
SUnreclaim:      2362804 kB
KernelStack:        7032 kB
PageTables:        55828 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    28168932 kB
Committed_AS:   37689696 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      153644 kB
VmallocChunk:   34359467188 kB
HardwareCorrupted:     0 kB
AnonHugePages:   2105344 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      387924 kB
DirectMap2M:    33120256 kB

적어도 내가 아는 한 가장 눈에 띄는 것은 17GB Shmem사용량이다. 불규칙하게 커지며 Chrome 사용과 다소 관련이 있습니다. 탭을 닫으면 상당히 빠른 성장(대략 분당 300MB 정도)이 멈추는 것 같지만, 같은 탭을 다시 열어도 성장이 다시 시작되지 않는 것 같습니다(확실하지는 않습니다. 먼저 잘못된 행동 태그를 잡아야 합니다).

내가 이해한 바로는 shmem에는 tmpfs 사용량과 GEM 개체 할당이 포함되어 있지만 내가 이해한 바에 따르면 사용량은 그리 높지 않습니다(대형 pulse-shm-#### 파일이지만 총 1GB에 불과함).

증거에 관한 한 다음과 같은 의심스러운 조각도 있습니다 dmesg.

[320918.676580] [TTM] Out of kernel memory
[320918.676587] [drm:radeon_gem_object_create] *ERROR* Failed to allocate GEM object (196608, 2, 4096, -12)
[320918.678451] [TTM] Out of kernel memory
[320918.678454] [drm:radeon_gem_object_create] *ERROR* Failed to allocate GEM object (4096, 2, 4096, -12)
[339871.343917] [drm:radeon_gem_object_create] *ERROR* Failed to allocate GEM object (393216, 2, 4096, -12)
[339873.207965] chrome[12513]: segfault at 10 ip 00007f48d1f385ea sp 00007ffc1bd73ab0 error 4 in chrome[7f48cfd7b000+5a2d000]

상황에 따라 Chrome과 관련이 있을 것으로 추측됩니다. 아마도 일종의 그래픽 메모리 누수(Radeon 드라이버, Ubuntu 신뢰할 수 있음)일 수 있지만 여기서는 디버깅 방법(또는 적어도 두 개로 분할)을 잃어버렸습니다. , 먼저 GEM 누출인지 확인하세요).

편집: 언급하는 것을 잊었지만 ipcs -m꽤 지루해 보입니다.

------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      
0x0052e2c1 0          postgres   600        48         5                       
0x00000000 360449     htung      600        393216     2          dest         
0x00000000 294914     htung      600        393216     2          dest         
0x00000000 1114115    htung      600        524288     2          dest         
0x00000000 655364     htung      600        524288     2          dest         
0x00000000 2850821    htung      600        524288     2          dest         
0x00000000 983046     htung      600        33554432   2          dest         
0x00000000 1015815    htung      600        524288     2          dest         
0x00000000 15663112   htung      600        393216     2          dest         
0x00000000 15040521   htung      600        33554432   2          dest         
0x00000000 1277962    htung      600        393216     2          dest         
0x00000000 1507339    htung      600        1048576    2          dest         
0x00000000 2752524    htung      700        153216     2          dest         
0x00000000 1867789    htung      600        393216     2          dest         
0x00000000 1638414    htung      600        393216     2          dest         
0x00000000 2719759    htung      700        7680000    2          dest         
0x00000000 2293776    htung      700        7680000    2          dest         
0x00000000 1966097    htung      600        1048576    2          dest         
0x00000000 2326546    htung      700        7680000    2          dest         
0x00000000 2359315    htung      700        7680000    2          dest         
0x00000000 2392084    htung      700        7680000    2          dest         
0x00000000 2555925    htung      700        220576     2          dest         
0x00000000 2588694    htung      700        40848      2          dest         
0x00000000 2621463    htung      700        40848      2          dest         
0x00000000 2654232    htung      700        40848      2          dest         
0x00000000 2687001    htung      700        7680000    2          dest         
0x00000000 15826970   htung      600        524288     2          dest         
0x00000000 3735579    htung      600        393216     2          dest         
0x00000000 3506205    htung      600        393216     2          dest         
0x00000000 3932190    htung      600        393216     2          dest         
0x00000000 15106079   htung      600        131664     2          dest         
0x00000000 3866656    htung      600        1048576    2          dest         
0x00000000 3899425    htung      600        393216     2          dest         
0x00000000 4030498    htung      600        524288     2          dest         
0x00000000 4063267    htung      600        393216     2          dest         
0x00000000 8978468    htung      600        1048576    2          dest         
0x00000000 6094885    htung      600        393216     2          dest         
0x00000000 35651622   htung      600        4011000    2          dest         
0x00000000 6127657    htung      600        393216     2          dest         
0x00000000 6488106    htung      600        7206400    2          dest   

관련 정보