Quantcast
Channel: Squeezebox : Community : Forums
Viewing all articles
Browse latest Browse all 6235

Memory Leak in Perl Engine on piCorePlayer?

$
0
0
For a few days, now, I have been running a piCorePlayer 6.1.0 with LMS on a Pi 4 B with 2G of memory. I mainly use the Pi to transcode AAC streams from Tidal. There are no additional plug-ins installed.

I observe the following behaviour: After the LMS is started, it will run without complaints for about a day, and then the connected players will suddenly start to re-buffer all the time and eventually stop playing altogether.

I have been looking at CPU and memory consumption on the Pi (I don't quite understand how the in-memory file system fits into it) and noticed that the main Perl process seems to be hogging memory. When a certain limit is exceeded, the transcoding processes suddenly will not have as much memory as they used to, and the re-buffering will start. I have monitored the system with top for a day and copied the output.

file system:
Code:

Filesystem                Size      Used Available Use% Mounted on
tmpfs                    1.7G    17.8M      1.7G  1% /
tmpfs                  954.3M        0    954.3M  0% /dev/shm
/dev/mmcblk0p2          29.1G    175.0M    28.3G  1% /mnt/mmcblk0p2

LMS restarted:
Code:

Mem: 388012K used, 1566340K free, 14432K shrd, 31648K buff, 163864K cached
CPU:  0.2% usr  0.1% sys  0.0% nic 99.5% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.14 0.08 0.08 2/139 12551
  PID  PPID USER    STAT  VSZ %VSZ CPU %CPU COMMAND
12463    1 tc      S    100m  5.2  0  0.3 {slimserver.pl} /usr/bin/perl /usr/local/slimserver/slimserver.pl --daemon --user tc --group staff

playing and scanning:
Code:

Mem: 453652K used, 1500700K free, 14652K shrd, 31648K buff, 178824K cached
CPU: 25.2% usr  0.5% sys  0.0% nic 74.1% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.37 0.12 0.09 2/144 12573
  PID  PPID USER    STAT  VSZ %VSZ CPU %CPU COMMAND
12463    1 tc      S    103m  5.4  1  0.8 {slimserver.pl} /usr/bin/perl /usr/local/slimserver/slimserver.pl --daemon --user tc --group staff
12572 12463 tc      R    62140  3.1  1 24.5 /usr/local/bin/perl /usr/local/slimserver/scanner.pl --logconfig=/usr/local/slimserver/prefs/log.conf --novideo --onlinelibrary --prefsdir=/usr/local
12571 12569 tc      S    5404  0.2  1  0.1 /usr/local/slimserver/Bin/armhf-linux/flac -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -
12569 12463 tc      S    3200  0.1  2  0.0 sh -c "/usr/local/slimserver/Bin/armhf-linux/faad" -q -w -f 1 - | "/usr/local/slimserver/Bin/armhf-linux/flac" -cs --totally-silent --compression-lev
12570 12569 tc      S    2780  0.1  0  0.2 /usr/local/slimserver/Bin/armhf-linux/faad -q -w -f 1 -

playing ...:
Code:

Mem: 478556K used, 1475796K free, 18952K shrd, 31652K buff, 207356K cached
CPU:  1.3% usr  0.1% sys  0.0% nic 98.4% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.25 0.11 0.03 3/140 13831
  PID  PPID USER    STAT  VSZ %VSZ CPU %CPU COMMAND
12463    1 tc      S    140m  7.3  2  0.4 {slimserver.pl} /usr/bin/perl /usr/local/slimserver/slimserver.pl --daemon --user tc --group staff
13782 13780 tc      S    5404  0.2  2  0.3 /usr/local/slimserver/Bin/armhf-linux/flac -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -
13780 12463 tc      S    3200  0.1  2  0.0 sh -c "/usr/local/slimserver/Bin/armhf-linux/faad" -q -w -f 1 - | "/usr/local/slimserver/Bin/armhf-linux/flac" -cs --totally-silent --compression-lev
13781 13780 tc      S    2780  0.1  2  0.7 /usr/local/slimserver/Bin/armhf-linux/faad -q -w -f 1 -

out of memory:
Code:

Mem: 536364K used, 1417988K free, 21760K shrd, 31656K buff, 210196K cached
CPU:  0.9% usr  0.4% sys  0.0% nic 98.4% idle  0.0% io  0.0% irq  0.0% sirq
Load average: 0.07 0.08 0.03 1/140 15290
  PID  PPID USER    STAT  VSZ %VSZ CPU %CPU COMMAND
12463    1 tc      S    198m 10.3  0  1.0 {slimserver.pl} /usr/bin/perl /usr/local/slimserver/slimserver.pl --daemon --user tc --group staff
15290 15288 tc      S    5272  0.2  2  0.0 /usr/local/slimserver/Bin/armhf-linux/flac -cs --totally-silent --compression-level-0 --ignore-chunk-sizes -
15288 12463 tc      S    3200  0.1  0  0.0 sh -c "/usr/local/slimserver/Bin/armhf-linux/faad" -q -w -f 1 - | "/usr/local/slimserver/Bin/armhf-linux/flac" -cs --totally-silent --compression-lev
15289 15288 tc      S    2748  0.1  1  0.0 /usr/local/slimserver/Bin/armhf-linux/faad -q -w -f 1 -

The Perl process is constantly growing from 100m to about 200m. The faad and flac processes run with 5404 and 2780 k of memory consistently all day until the re-buffering starts. I can't make anything of it since the O/S still seems to have plenty of memory to spend on caching, but maybe somebody else can.

Viewing all articles
Browse latest Browse all 6235

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>