网络尖兵
2017-03-29 11:43:21 UTC
Hello, everyone!
I have posted this question on the forum, but I got this message"This post has NOT been accepted by the mailing list yet." I am not sure if my post could be seen by somebody else. So I send this mail.
I am trying to use valgrind to do the memcheck on Cavium Octeon CN73XX, but unfortunately I got the following message.
root# valgrind
--3846:0: aspacem <<< SHOW_SEGMENTS: out_of_memory (13 segments)
--3846:0: aspacem 1 segment names in 1 slots
--3846:0: aspacem freelist is empty
--3846:0: aspacem (0,4,2) /usr/lib/valgrind/memcheck-mips64-linux
--3846:0: aspacem 0: RSVN 0000000000-0003ffffff 64m ----- SmFixed
--3846:0: aspacem 1: 0004000000-0037ffffff 832m
--3846:0: aspacem 2: FILE 0038000000-003823ffff 2359296 r-x-- d=0xb301 i=12614 o=0 (0,4)
--3846:0: aspacem 3: FILE 0038240000-003826ffff 196608 rw--- d=0xb301 i=12614 o=2293760 (0,4)
--3846:0: aspacem 4: ANON 0038270000-003943ffff 17m rwx--
--3846:0: aspacem 5: 0039440000-0801ffffff 31883m
--3846:0: aspacem 6: RSVN 0802000000-0802000fff 4096 ----- SmFixed
--3846:0: aspacem 7: 0802001000-0fffffffff 32735m
--3846:0: aspacem 8: RSVN 1000000000-ffdfcbffff 982524m ----- SmFixed
--3846:0: aspacem 9: ANON ffdfcc0000-ffdfceffff 196608 rwx--
--3846:0: aspacem 10: RSVN ffdfcf0000-fffffeffff 515m ----- SmFixed
--3846:0: aspacem 11: ANON ffffff0000-ffffffffff 65536 r-x--
--3846:0: aspacem 12: RSVN 10000000000-ffffffffffffffff 16383e ----- SmFixed
--3846:0: aspacem >>>
--3846-- core : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- dinfo : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- (null) : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 0 rzB
--3846-- demangle: 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- ttaux : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- translate: no SP updates identified
--3846-- translate: PX: SPonly 0, UnwRegs 0, AllRegs 0, AllRegsAllInsns 0
--3846-- tt/tc: 0 tt lookups requiring 0 probes
--3846-- tt/tc: 0 fast-cache updates, 0 flushes
--3846-- transtab: new 0 (0 -> 0; ratio 0.0) [0 scs] avg tce size 0
--3846-- transtab: dumped 0 (0 -> ??) (sectors recycled 0)
--3846-- transtab: discarded 0 (0 -> ??)
--3846-- scheduler: 0 event checks.
--3846-- scheduler: 0 indir transfers, 0 misses (1 in 0)
--3846-- scheduler: 0/0 major/minor sched events.
--3846-- sanity: 0 cheap, 0 expensive checks.
==3846==
==3846== Valgrind's memory management: out of memory:
==3846== newSuperblock's request for 4194304 bytes failed.
==3846== 18,939,904 bytes have already been mmap-ed ANONYMOUS.
==3846== Valgrind cannot continue. Sorry.
==3846==
==3846== There are several possible reasons for this.
==3846== - You have some kind of memory limit in place. Look at the
==3846== output of 'ulimit -a'. Is there a limit on the size of
==3846== virtual memory or address space?
==3846== - You have run out of swap space.
==3846== - Valgrind has a bug. If you think this is the case or you are
==3846== not sure, please let us know and we'll try to fix it.
==3846== Please note that programs can take substantially more memory than
==3846== normal when running under Valgrind tools, eg. up to twice or
==3846== more, depending on the tool. On a 64-bit machine, Valgrind
==3846== should be able to make use of up 32GB memory. On a 32-bit
==3846== machine, Valgrind should be able to use all the memory available
==3846== to a single process, up to 4GB if that's how you have your
==3846== kernel configured. Most 32-bit Linux setups allow a maximum of
==3846== 3GB per process.
==3846==
==3846== Whatever the reason, Valgrind cannot continue. Sorry.
I have searched and found somebody have meet this kind of problem, but I still have no idea on how to deal with it.
http://valgrind.10908.n7.nabble.com/Valgrind-13854-Cross-compiling-for-Cavium-MIPS64-N32-ABI-td48980.html
http://valgrind.10908.n7.nabble.com/valgrind-out-of-memory-error-td54401.html
The valgrind was configured and build by yocto with "-meb -mabi=64 -mhard-float -march=octeon3" .
The valgrind version is 3.11.0.
I have tried to expand swap on my box, but it make no sense.
I have posted this question on the forum, but I got this message"This post has NOT been accepted by the mailing list yet." I am not sure if my post could be seen by somebody else. So I send this mail.
I am trying to use valgrind to do the memcheck on Cavium Octeon CN73XX, but unfortunately I got the following message.
root# valgrind
--3846:0: aspacem <<< SHOW_SEGMENTS: out_of_memory (13 segments)
--3846:0: aspacem 1 segment names in 1 slots
--3846:0: aspacem freelist is empty
--3846:0: aspacem (0,4,2) /usr/lib/valgrind/memcheck-mips64-linux
--3846:0: aspacem 0: RSVN 0000000000-0003ffffff 64m ----- SmFixed
--3846:0: aspacem 1: 0004000000-0037ffffff 832m
--3846:0: aspacem 2: FILE 0038000000-003823ffff 2359296 r-x-- d=0xb301 i=12614 o=0 (0,4)
--3846:0: aspacem 3: FILE 0038240000-003826ffff 196608 rw--- d=0xb301 i=12614 o=2293760 (0,4)
--3846:0: aspacem 4: ANON 0038270000-003943ffff 17m rwx--
--3846:0: aspacem 5: 0039440000-0801ffffff 31883m
--3846:0: aspacem 6: RSVN 0802000000-0802000fff 4096 ----- SmFixed
--3846:0: aspacem 7: 0802001000-0fffffffff 32735m
--3846:0: aspacem 8: RSVN 1000000000-ffdfcbffff 982524m ----- SmFixed
--3846:0: aspacem 9: ANON ffdfcc0000-ffdfceffff 196608 rwx--
--3846:0: aspacem 10: RSVN ffdfcf0000-fffffeffff 515m ----- SmFixed
--3846:0: aspacem 11: ANON ffffff0000-ffffffffff 65536 r-x--
--3846:0: aspacem 12: RSVN 10000000000-ffffffffffffffff 16383e ----- SmFixed
--3846:0: aspacem >>>
--3846-- core : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- dinfo : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- (null) : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 0 rzB
--3846-- demangle: 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- ttaux : 0/ 0 max/curr mmap'd, 0/0 unsplit/split sb unmmap'd, 0/ 0 max/curr, 0/ 0 totalloc-blocks/bytes, 0 searches 8 rzB
--3846-- translate: no SP updates identified
--3846-- translate: PX: SPonly 0, UnwRegs 0, AllRegs 0, AllRegsAllInsns 0
--3846-- tt/tc: 0 tt lookups requiring 0 probes
--3846-- tt/tc: 0 fast-cache updates, 0 flushes
--3846-- transtab: new 0 (0 -> 0; ratio 0.0) [0 scs] avg tce size 0
--3846-- transtab: dumped 0 (0 -> ??) (sectors recycled 0)
--3846-- transtab: discarded 0 (0 -> ??)
--3846-- scheduler: 0 event checks.
--3846-- scheduler: 0 indir transfers, 0 misses (1 in 0)
--3846-- scheduler: 0/0 major/minor sched events.
--3846-- sanity: 0 cheap, 0 expensive checks.
==3846==
==3846== Valgrind's memory management: out of memory:
==3846== newSuperblock's request for 4194304 bytes failed.
==3846== 18,939,904 bytes have already been mmap-ed ANONYMOUS.
==3846== Valgrind cannot continue. Sorry.
==3846==
==3846== There are several possible reasons for this.
==3846== - You have some kind of memory limit in place. Look at the
==3846== output of 'ulimit -a'. Is there a limit on the size of
==3846== virtual memory or address space?
==3846== - You have run out of swap space.
==3846== - Valgrind has a bug. If you think this is the case or you are
==3846== not sure, please let us know and we'll try to fix it.
==3846== Please note that programs can take substantially more memory than
==3846== normal when running under Valgrind tools, eg. up to twice or
==3846== more, depending on the tool. On a 64-bit machine, Valgrind
==3846== should be able to make use of up 32GB memory. On a 32-bit
==3846== machine, Valgrind should be able to use all the memory available
==3846== to a single process, up to 4GB if that's how you have your
==3846== kernel configured. Most 32-bit Linux setups allow a maximum of
==3846== 3GB per process.
==3846==
==3846== Whatever the reason, Valgrind cannot continue. Sorry.
I have searched and found somebody have meet this kind of problem, but I still have no idea on how to deal with it.
http://valgrind.10908.n7.nabble.com/Valgrind-13854-Cross-compiling-for-Cavium-MIPS64-N32-ABI-td48980.html
http://valgrind.10908.n7.nabble.com/valgrind-out-of-memory-error-td54401.html
The valgrind was configured and build by yocto with "-meb -mabi=64 -mhard-float -march=octeon3" .
The valgrind version is 3.11.0.
I have tried to expand swap on my box, but it make no sense.