HP-UX

log의미가 뭔지 알고싶습니다.(11.11)

 
손창헌
조언자

log의미가 뭔지 알고싶습니다.(11.11)

온도문제때문에 시스템이 reboot된 경우가 있었는데

아래와 같은 로그가 발생이 됩니다...



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3158279,3158280)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3157240,3157241)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3157754,3157755)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3157499,3157500)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3164579,3164580)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3163556,3163557)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3163303,3163304)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3163047,3163048)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3161016,3161017)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3159979,3159980)



Oct 15 23:23:21 erpap vmunix: sysmap_64bit: rmap ovflo, lost [3159725,3159726)



어떤 원인인지 알고싶습니다.



수고하십시오..
2 응답 2
이태곤
중학생

log의미가 뭔지 알고싶습니다.(11.11)

안녕하십니까



아래 Itrc내용을 참조하십시오



dmesg나 syslog.log 또는 panic string에 - vmunix: sysmap: rmap ovflo, lost가 있는 원인 및 조치 방법

ISSUE



jdmesg나 syslog.log 또는 panic string에 vmunix: sysmap: rmap ovflo, lost가 있는데 원인 및 조치방법은 무엇입니까?

Solution



sysmap은 virtual memory의 page들을 kernel관련 다양한 process들에 할당하기 위해 kernel이 사용하는 resource map(rmap)입니다.



rmap overflow는 일반적으로 kernel virtual memory가 수많은 작고 비연속적인 작은 조각들로 나뉘어져 free area로 묶을수 없는 fragmentation의 결과 입니다.



resource map구성은 free virtual memory의 각각의 연속된 조각에 대해 하나의 entry를 가지므로 fragmentation이 많으면 많을수록 memory의 더 많은 조각들을 신중하게 다루어야 하며 이것은 한계가 있는 resource map을 초과 할수 있습니다.



다음과 같은 3가지 조치사항이 있습니다.



1. 무시해도 되는 경우: 기본적으로 작은 memory leak로서 virtual address가 map의 끝부분을 잃어버려서 다시 사용할 수 없는 경우입니다. 그러나 virtual address들이 다른 resource들과 관련되어 있지 않으면 system에 영향이 없습니다. 문제가 되는 경우는 virtual space부족때문에 resource할당이 안되거나 warning message들 때문에 지장을 받는 경우입니다.

2. 어느 application이 kernel virtual memory가 조각들을 많이 만들게 하여 문제를 발생시키는 지를 찾아서 이application이 garbage collection을 문제없이 하도록 수정합니다.

3. resource map의 size를 늘려주어 lost를 줄여주는 방법입니다 sysmap rmap은 default로 800이며 2xnproc형식으로 증감됩니다. 따라서 nproc의 size를 늘려주면 rmap의 size도 늘어납니다. nproc를 늘리는 경우에 system에 별다른 영향이 없다면 nproc를 늘려주는 것이 가장 적절한 해결책입니다.



김병수
본과생

log의미가 뭔지 알고싶습니다.(11.11)

tool중에 shminfo 라는 것이 있습니다.



#shminfo -W

libp4 (9.107): Opening /stand/vmunix /dev/kmem



Loading symbols from /stand/vmunix

Kernel TEXT pages not requested in crashconf

Will use an artificial mapping from a.out TEXT pages

shminfo (3.15)



Global 64-bit shared quadrants:

===============================



Space Start End Kbytes Usage

Q1 0x08f23800.0x0000000000000000-0x000003ffffffffff 4294967296 FREE

Q4 0x0950fc00.0xc000000000000000-0xc000000000028fff 164 OTHER

Q4 0x0950fc00.0xc000000000029000-0xc00000000002bfff 12 FREE

Q4 0x0950fc00.0xc00000000002c000-0xc000000000052fff 156 OTHER

Q4 0x0950fc00.0xc000000000053000-0xc000000000053fff 4 FREE <--- fragment된 free공간들

Q4 0x0950fc00.0xc000000000054000-0xc00000000005cfff 36 OTHER

Q4 0x0950fc00.0xc00000000005d000-0xc000000000060fff 16 FREE <--- fragment된 free공간들

Q4 0x0950fc00.0xc000000000061000-0xc000000000062fff 8 OTHER

Q4 0x0950fc00.0xc000000000063000-0xc000000000067fff 20 FREE

Q4 0x0950fc00.0xc000000000068000-0xc00000000006cfff 20 OTHER

Q4 0x0950fc00.0xc00000000006d000-0xc00000000006ffff 12 FREE

Q4 0x0950fc00.0xc000000000070000-0xc000000000075fff 24 OTHER

Q4 0x0950fc00.0xc000000000076000-0xc00000000007ffff 40 FREE

Q4 0x0950fc00.0xc000000000080000-0xc0000000000f2fff 460 OTHER

Q4 0x0950fc00.0xc0000000000f3000-0xc0000000000fffff 52 FREE

Q4 0x0950fc00.0xc000000000100000-0xc000000000136fff 220 OTHER

Q4 0x0950fc00.0xc000000000137000-0xc00000000013ffff 36 FREE

Q4 0x0950fc00.0xc000000000140000-0xc0000000001c4fff 532 OTHER

Q4 0x0950fc00.0xc0000000001c5000-0xc0000000001cffff 44 FREE

Q4 0x0950fc00.0xc0000000001d0000-0xc0000000001e8fff 100 OTHER

Q4 0x0950fc00.0xc0000000001e9000-0xc0000000001fffff 92 FREE

Q4 0x0950fc00.0xc000000000200000-0xc00000000031cfff 1140 OTHER

Q4 0x0950fc00.0xc00000000031d000-0xc00000000031ffff 12 FREE

Q4 0x0950fc00.0xc000000000320000-0xc000000000345fff 152 OTHER

Q4 0x0950fc00.0xc000000000346000-0xc0000000003fffff 744 FREE

Q4 0x0950fc00.0xc000000000400000-0xc000000000948fff 5412 OTHER

Q4 0x0950fc00.0xc000000000949000-0xc00000000fffffff 252636 FREE

Q4 0x0950fc00.0xc000000010000000-0xc000000024177fff 329184 SHMEM id=2607

Q4 0x0950fc00.0xc000000024178000-0xc00003ffffffffff 4294375968 FREE



위의 내용중 free로 보이는 공간들이 quad4map_64bit table에 들어가는 것들 입니다.

만일 작은 크기의 free공간이 매우 많으면 위 table의 overflow가 발생하게 됩니다.



따라서 kernel값중에 shmmni을 늘려보시고 않되면 application을 check하여야 합니다.



그럼~~