Ubuntu Feisty-n így vettem fel tv adásokat:
mencoder -tv driver=v4l2:norm=PAL-BG:chanlist=europe-east:saturation=100:width=768:height=576 -ovc lavc -lavcopts vcodec=xvid:vbitrate=900 -oac mp3lame -lameopts cbr:br=128 -vf crop=720:544:24:16,pp=lb -o ~/film.avi tv://
Gutsy-n ugyanez 1 perc alatt megeszi az 1 GB memóriát. Ha a vcodec-et mpeg4-re állítom, akkor 5 perc alatt. Gondoltam fordítok forrásból mencoder-t (mplayer-t). Ugyanaz. Régebbi verzió töltöttem le. Memory leak. (Ugye ez az?)
Tehát nem a mencoder a ludas. De akkor mi? Az Alsa? A kernel? Valami driver? A codec? És leginkább mit tehetek? Menjek vissza Feisty-re? (Elég tanácstalan vagyok...)
- 1360 megtekintés
Hozzászólások
forgass uj kernelt SLUB helyett SLAB-bal és reportold lkml-re ..
Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam.
debian 4.0 - linux-2.6.22.10-pancs1-wifi2 - 2.6.22.9 kernel madwifivel itt
- A hozzászóláshoz be kell jelentkezni
Nem hiszem, hogy kernel problema, vagy, hogy SLAB/SLUB -nak koze lenne egy alkalmazas memo leak jehez.
- A hozzászóláshoz be kell jelentkezni
Forgattam egy kernelt úgy, ahogy ajánlottad, de a szivárgás nem szűnt.
Érdekes, hogy nyilván a mencoder a tánca farka a dolognak, de más verziónál is előjött a probléma, valamint Alsából is próbáltam már újabbat, ott is.
- A hozzászóláshoz be kell jelentkezni
A GNU C library-ben van támogatás a memóriafoglalás nyomkövetésére. Ha már forrásból fordítod, amit használsz, ez is lehet nyomravezető.
- A hozzászóláshoz be kell jelentkezni
Nekem pont innen a HUP-ról valami ALSA-probléma rémlik, ott ugyanígy megette a RAM-ot a mencoder.
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
Ha erre gondolsz
, az is én voltam. Az is lehet, hogy a két probléma független.
- A hozzászóláshoz be kell jelentkezni
Ja, bocsánat. :-D
It doesn't matter if you like my song as long as you can hear me sing
- A hozzászóláshoz be kell jelentkezni
valgrind/valkyrie
memprof (x86 only)
Talán segíthet kideríni mi eszi.
Top szerint hova kerül a memória ? (shift+M, RES size érdekel)
- A hozzászóláshoz be kell jelentkezni
A top: (a RES is folyamatosan emelkedik)
PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
25 0 566m 529m 8980 R 102 52.3 4:27.43 mencoder
A valgrind persze talál hibát:
==6287== ERROR SUMMARY: 8 errors from 5 contexts (suppressed: 109 from 1)
==6287==
==6287== 1 errors in context 1 of 5:
==6287== Syscall param ioctl(generic) points to uninitialised byte(s)
==6287== at 0x40007F2: (within /lib/ld-2.6.1.so)
==6287== by 0x4AA1918: ioctl (in /lib/tls/i686/cmov/libc-2.6.1.so)
==6287== by 0x81DA285: (within /usr/bin/mencoder)
==6287== Address 0xBE829488 is on thread 1's stack
==6287==
==6287== 1 errors in context 2 of 5:
==6287== Syscall param ioctl(generic) points to uninitialised byte(s)
==6287== at 0x40007F2: (within /lib/ld-2.6.1.so)
==6287== by 0x4AA1918: ioctl (in /lib/tls/i686/cmov/libc-2.6.1.so)
==6287== by 0x81DBB50: (within /usr/bin/mencoder)
==6287== Address 0xBE82946C is on thread 1's stack
==6287==
==6287== 1 errors in context 3 of 5:
==6287== Syscall param ioctl(generic) points to uninitialised byte(s)
==6287== at 0x40007F2: (within /lib/ld-2.6.1.so)
==6287== by 0x0: ???
==6287== Address 0xBE82945C is on thread 1's stack
==6287==
==6287== 1 errors in context 4 of 5:
==6287== Syscall param ioctl(generic) points to uninitialised byte(s)
==6287== at 0x40007F2: (within /lib/ld-2.6.1.so)
==6287== by 0x4AA1918: ioctl (in /lib/tls/i686/cmov/libc-2.6.1.so)
==6287== by 0x81DACE5: (within /usr/bin/mencoder)
==6287== Address 0xBE82940C is on thread 1's stack
==6287==
==6287== 4 errors in context 5 of 5:
==6287== Syscall param ioctl(generic) points to uninitialised byte(s)
==6287== at 0x40007F2: (within /lib/ld-2.6.1.so)
==6287== by 0x4AA1918: ioctl (in /lib/tls/i686/cmov/libc-2.6.1.so)
==6287== by 0x81D8210: (within /usr/bin/mencoder)
==6287== Address 0xBE8293DC is on thread 1's stack
--6287--
--6287-- supp: 109 dl-hack3
==6287==
==6287== IN SUMMARY: 8 errors from 5 contexts (suppressed: 109 from 1)
==6287==
==6287== malloc/free: in use at exit: 3,343,104 bytes in 3,484 blocks.
==6287== malloc/free: 7,976 allocs, 4,492 frees, 73,669,483 bytes allocated.
==6287==
==6287== searching for pointers to 3,484 not-freed blocks.
==6287== checked 3,973,068 bytes.
==6287==
==6287== LEAK SUMMARY:
==6287== definitely lost: 1,355 bytes in 12 blocks.
==6287== possibly lost: 46,445 bytes in 1 blocks.
==6287== still reachable: 3,295,304 bytes in 3,471 blocks.
==6287== suppressed: 0 bytes in 0 blocks.
==6287== Rerun with --leak-check=full to see details of leaked memory.
--6287-- memcheck: sanity checks: 690 cheap, 28 expensive
--6287-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
--6287-- memcheck: auxmaps: 0 searches, 0 comparisons
--6287-- memcheck: SMs: n_issued = 1225 (19600k, 19M)
--6287-- memcheck: SMs: n_deissued = 938 (15008k, 14M)
--6287-- memcheck: SMs: max_noaccess = 65535 (1048560k, 1023M)
--6287-- memcheck: SMs: max_undefined = 76 (1216k, 1M)
--6287-- memcheck: SMs: max_defined = 494 (7904k, 7M)
--6287-- memcheck: SMs: max_non_DSM = 1076 (17216k, 16M)
--6287-- memcheck: max sec V bit nodes: 0 (0k, 0M)
--6287-- memcheck: set_sec_vbits8 calls: 0 (new: 0, updates: 0)
--6287-- memcheck: max shadow mem size: 17520k, 17M
--6287-- translate: fast SP updates identified: 15,523 ( 92.5%)
--6287-- translate: generic_known SP updates identified: 823 ( 4.9%)
--6287-- translate: generic_unknown SP updates identified: 434 ( 2.5%)
--6287-- tt/tc: 25,449 tt lookups requiring 28,045 probes
--6287-- tt/tc: 25,449 fast-cache updates, 2 flushes
--6287-- transtab: new 11,331 (290,152 -> 4,745,843; ratio 163:10) [0 scs]
--6287-- transtab: dumped 0 (0 -> ??)
--6287-- transtab: discarded 0 (0 -> ??)
--6287-- scheduler: 55,523,037 jumps (bb entries).
--6287-- scheduler: 690/36,279 major/minor sched events.
--6287-- sanity: 691 cheap, 28 expensive checks.
--6287-- exectx: 30,011 lists, 295 contexts (avg 0 per list)
--6287-- exectx: 12,585 searches, 12,291 full compares (976 per 1000)
--6287-- exectx: 0 cmp2, 235 cmp4, 0 cmpAll
- A hozzászóláshoz be kell jelentkezni
Forgattam egy új kernelt a 2.6.23.1-es vanillából. Úgy tűnik ez megoldotta a problémát.
- A hozzászóláshoz be kell jelentkezni
bt chipes a kártya? ha igen akkor az bugzik slubbal és erröl volt szó lkml-en is ..
Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam
katt
- A hozzászóláshoz be kell jelentkezni
"bt chipes a kártya?"
Nem.
"bugzik slubbal"
Ahogy fent írtam, kipróbáltam a csak annyit megváltoztatni a kernelben, de az nem volt elég.
- A hozzászóláshoz be kell jelentkezni
akkor ugy fogalmazok, hogy a 2.6.23-asban és a upcomming 2.6.24-esben elég sok minden változott slub / slab körül. a slubra és a 2.6.22-es kernel-re meg többen is panaszkodtak igaz x86_64-en
Nekem mindig igazam van, ha nem, akkor nincs igazam, szoval megint igazam van hogy nincs igazam
katt
- A hozzászóláshoz be kell jelentkezni