Raspberry PI (RPI) Memory Hog

Topics (not sure which fora)
when not sure where to post, post here and mods will move it to right forum.

Moderators: leecollings, remb0

Post Reply
User avatar
elzorrovega
Posts: 65
Joined: Friday 08 May 2020 19:26
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.2
Location: Bordeaux, France
Contact:

Raspberry PI (RPI) Memory Hog

Post by elzorrovega »

Hello,

My actual configuration is as follows:

Hardware
Spoiler: show
I am using Raspberry PI (RPI) 3 B+
RAM 128 Mb GPU + 872 Mb CPU
SWAP 250 Mb
SD Card 64 Gb

Software
Spoiler: show
Updated from Debian Stretch to Buster
Linux raspberrypi 4.19.118-v7+ #1311 SMP Mon Apr 27 14:21:24 BST 2020 armv7l GNU/Linux
Domoticz Version 2020.2
Updated all installed system packages on the 10/6/2020.
Firefox Quantum ESR (68.9.0esr(32 bit)
RPI Application packages are standard and to my knowledge there is nothing particular running on the machine except for Domoticz. Since RPI does not have a monitor, VNC client is used to reach the machine. Under normal use, there is one Firefox tab connected to Domoticz Version 2020.2; VNC Server; bash shell; file explorer and Prowl mail client. In the past, I had noticed that system eventually become slow and had to be restarted. MONIT is now properly configured and sends mail alerts. One could see SWAP memory saturated at its default setting of 100 Mb. Changed Swap to 250 Mb but decided to import system diagnostic data to Domoticz for follow-up.

Wrote a script, based on other examples, to collect % CPULoad (5 min average); % used RAM Memory and % used SWAP Memory. My Domoticz has seven active scripts. Four are device triggered while the other three are time triggered . The first time triggered script executes on sunrise and sunset; the second script collects system diagnostic information above every other hour and the third script reads device battery levels once per day. There are 11 Z-wave devices (opening, motion, alarm siren) connected to Domoticz and MONIT confirms that Domoticz application system resource load is stable.
Spoiler: show

Code: Select all

--[[
    El Zorro, 5/6/2020
    Raspberry PI (RPI) Health Status Script Ver 1
    Asummes that MONIT has been configured to monitor RPI resources and Domoticz Server Application.
    Assumes that DUMMY/Virtual Device with Virtual Sensor has been configured on Hardware Page.
    Assumes that 7 new variables were also created for diagnostics purposes.
    Refer to sTable for virtual sensor's default names.
    Command $ uptime -s outputs RPI running time in text format
    Command $ sudo monit status generates a system resource status report.
    Status report is piped to bash mawk command which extracts data. 
    Output is one line with comma separated values.
    Output example: 3.0,54.3,52.2
    Values are then read in Domoticz and stored in a table
  --]]
local dz = domoticz
return {
    active = true,
	on = {
		timer = {
			'every other hour',			-- 00:00, 02:00, ..., 22:00	(12x per 24hrs)
--			'at 19:00',					-- specific time
		}
	},
    logging =
    {
        level = domoticz.LOG_DEBUG,
        marker = "CMD"
    },
    execute = function(dz)
-- Script Definition of Virtual Sensors in PI Diag Virtual (Dummy) Device
        local sTable =
        {
        -- Virtual Sensor   Sensor Type
            {"Domoticz uptime", "Text"},    -- Domoticz Server running time 
            {"PI Uptime",   "Text"},        -- Time since RPI has been up and running
            {"PI CPU Load 5min", "Percentage"},  -- 5 minute average CPU Load
            {"PI RAM Memory",   "Percentage"},  -- % Used Memory
            {"PI Swap Memory",     "Percentage"},  -- % Used Swap
        }
        local function osCommand(cmd)
--            if dz == nil then dz = domoticz end -- Ensure dz is declared as domoticz object  
            dz.log('Executing Command: ' .. cmd,dz.LOG_DEBUG)

            local fileHandle = assert(io.popen(cmd .. ' 2>&1 || echo ::ERROR::', 'r'))
            local commandOutput = assert(fileHandle:read('*a'))
            local returnTable = {fileHandle:close()}

            if commandOutput:find '::ERROR::' then     -- something went wrong
               dz.log('Error ==>> ' .. tostring(commandOutput:match('^(.*)%s+::ERROR::') or ' ... but no error message ' ) ,dz.LOG_ERROR)
            else -- all is fine!!
                dz.log('ReturnCode: ' .. returnTable[3] .. '\ncommandOutput:\n' .. commandOutput, dz.LOG_DEBUG)
            end
            return commandOutput,returnTable[3] -- rc[3] contains returnCode
        end
--
        local function updateSensor(name,deviceType, value)
            if deviceType == "Text" then
                dz.devices(name).updateText(value)
            elseif deviceType == 'Percentage' then
                dz.devices(name).updatePercentage(value)
            end
        end
--    
        local function processData(data)
            dTable = dz.utils.stringSplit(data,',')  -- converts CVS data to a table
--            dz.utils.dumpTable(dTable) -- debug
--            print ( dz.utils._.size(dTable))
            for i=1,dz.utils._.size(dTable)  do 
                updateSensor(sTable[i+2][1], sTable[i+2][2], dTable[i] )
            end
    end
--
--      MAIN SCRIPT BODY
--
        local days    = dz.startTime.daysAgo
        local hours   = dz.startTime.hoursAgo%24
        local minutes = dz.startTime.minutesAgo%60
        local uptimeString = days .. " days, " .. hours .. " hours " .. minutes .. " minutes"
        local result, rc = osCommand('uptime -s')
        local result2, rc2 = osCommand('sudo monit status | mawk -f /home/pi/Scripts/rpidia')
--        dz.log('return Code: ' .. rc  ,dz.LOG_FORCE)  -- Debug
--        dz.log('Result: \n' .. result,dz.LOG_FORCE)   -- Debug
        updateSensor(sTable[1][1],sTable[1][2],uptimeString)        -- Store Uptime in Virtual Sensor
        dz.variables("uptimeString").set(uptimeString)              -- define var as type string
        dz.variables("uptimeMinutes").set(dz.startTime.minutesAgo)  -- define var as type integer
        dz.variables("uptimeHours").set(dz.startTime.hoursAgo)      -- define var as type integer
        dz.variables("uptimeDays").set(dz.startTime.daysAgo)        -- define var as type integer   
        dz.variables("startTime").set(dz.startTime.rawTime:sub(1, -4))                                              -- define var as type time
        dz.variables("startDate").set(dz.startTime.day .. "/" .. dz.startTime.month .. "/" .. dz.startTime.year)    -- define var as type date
        dz.variables("startDateTime").set(dz.startTime.raw)
--
        if rc == 0 then
            updateSensor(sTable[2][1],sTable[2][2], result)         -- Store RPI Uptime in Virtual Sensor
        end
--
        if rc2 == 0 then
            processData(result2)                                    -- Store RPI System Resources in Virtual Sensors
        end

    end
}
When MONIT once again warned about memory levels, RAM & SWAP Memory levels were greater than 55 % and increasing. I decided to close Firefox overnight to see if this changed the situation. In the morning, memory levels were lower. I tried Chrome browser but it turned-out to be another “Memory Hog”.

General RPI forums discuss about web browser memory leak issues and they recommend to limit the cache use (website history, cookies, etc). Other posts recommending OS commands to free-up cache memory. Please see attached bash script.
Spoiler: show

Code: Select all

# 13/6/2020
# El Zorro
# Script meant to Clear Cache Memory
# If you are using firefox as web browser,open page about:memory and press Minimize memory usage
echo "Clear Cache Memory in Use"
# 1 Freeing Up the Page Cache
sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"
# 2. Freeing Up the Dentries and Inodes
sudo sh -c  "echo 2 > /proc/sys/vm/drop_caches"
# 3. Freeing Up the Page Cache, Dentries and Inodes
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
# 4. Flushing the File System Buffers
sync

Mozilla support posts ask users to login to about:memory page and click the "Minimize memory usage" button. There were other comments like add more memory to your PC or RAM usage of Firefox is normal to make it "faster". My guess is that these folks never used an HP 41CX in their lives and would balk at the thought of using a micro PC with 6 Kb RAM. Since RPI’s resources are limited compared to a desktop, a few Mb can make a big difference and one must be frugal with system resources.

Please see the system diagnostics trends below. The graph show the % SWAP Memory Usage; % RAM Memory Usage and CU Load 5min collected every two hours. Ignore data on the far left for it was collected during script testing and at faster intervals.

Without Firefox running, data on the far right show a plateau with RAM Memory around 26.5 %. Domoticz and all other applications do not appear to consume system resources. As Firefox was brought on-line, CPU Load is relatively the same; RAM Memory jump to 51.5 % and % SWAP Memory jumps to 8.7 %. Memory usage tends to increase slowly. My gut feeling is that RAM memory will eventually saturate. Please find two files with sorted process structure ( ps -auxf | sort -r -k 4 > psout) without and with the browser running.

Without Firefox
Spoiler: show

Code: Select all

Process structure without Web Browser
Mem 240M/875M or 27 %
SWAP 512K/250M or 0.2 %
Average 5 Min CPLoad 10 %
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       653  0.1  6.7 277708 60128 tty7     Ssl+ juin10   4:15  \_ /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
pi         955  0.0  5.5 263904 49736 ?        Sl   juin10   0:01 clipit
root       668  0.7  5.1 277148 45916 ?        Ssl  juin10  23:27 /home/pi/domoticz/domoticz -daemon -www 8080 -sslwww 443 -log /tmp/domoticz.txt
pi         924  0.2  4.3 161920 38840 ?        Sl   juin10   7:54          \_ lxpanel --profile LXDE-pi
pi         940  0.0  3.6  67512 32892 ?        Sl   juin10   0:00 /usr/bin/python -O /usr/share/wicd/gtk/wicd-client.py --tray
pi        9058  0.0  3.2  89852 29296 ?        S    juin11   0:00          |   \_ claws-mail
pi        1602  0.0  3.2  86176 29512 ?        Sl   juin10   1:17          |   \_ lxterminal
pi         931  0.0  3.2 158580 28976 ?        Rl   juin10   0:09          \_ pcmanfm --desktop --profile LXDE-pi
root       626  0.1  3.0  70616 27440 ?        Sl   juin10   3:22  \_ /usr/bin/vncserver-x11-core -service
pi        1096  0.0  2.5 177664 22844 ?        Sl   juin10   0:00  \_ /usr/lib/gnome-online-accounts/goa-daemon
pi         990  0.0  2.1 191724 19292 ?        S<sl juin10   0:00  \_ /usr/bin/pulseaudio --daemonize=no
pi         915  0.0  1.8  64256 16408 ?        S    juin10   0:03          \_ openbox --config-file /home/pi/.config/openbox/lxde-pi-rc.xml
pi        9041  0.0  1.7  96452 15456 ?        Sl   juin11   0:00  |   \_ /usr/lib/gvfs/gvfsd-smb-browse --spawner :1.5 /org/gtk/gvfs/exec_spaw/2
pi         994  0.0  1.7  32220 15372 ?        S    juin10   0:00  \_ /usr/bin/vncserverui -statusicon 5
root       345  0.2  1.6  34276 14372 ?        Ss   juin10   6:39 /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py --no-daemon --keep-connection
pi         962  0.0  1.4  32392 12828 ?        S    juin10   0:02 /usr/bin/vncserverui service 20
root       495  0.0  1.4  23696 13016 ?        S    juin10   2:47  \_ /usr/bin/python -O /usr/share/wicd/daemon/monitor.py
pi         794  0.0  1.3  55004 12220 ?        Ssl  juin10   0:00      \_ /usr/bin/lxsession -s LXDE-pi -e LXDE
pi        1052  0.0  1.2  98688 10952 ?        Ssl  juin10   0:01  \_ /usr/lib/gvfs/gvfs-udisks2-volume-monitor
pi         916  0.0  1.2  47700 11196 ?        Sl   juin10   0:00          \_ lxpolkit
root       330  0.0  1.1  64000 10276 ?        Ssl  juin10   0:01 /usr/lib/udisks2/udisksd
root       672  0.0  1.0  16948  9520 ?        S    juin10   0:47 /usr/bin/vncagent service 20
root         1  0.0  0.9  33948  8316 ?        Ss   juin10   0:09 /sbin/init splash
pi        1075  0.0  0.8  56228  7300 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-afc-volume-monitor
root       122  0.0  0.8  18828  7936 ?        Ss   juin10   0:02 /lib/systemd/systemd-journald
pi         736  0.0  0.8  14840  7440 ?        Ss   juin10   0:00 /lib/systemd/systemd --user
pi        9035  0.0  0.7  62636  6872 ?        Sl   juin11   0:00  |   \_ /usr/lib/gvfs/gvfsd-network --spawner :1.5 /org/gtk/gvfs/exec_spaw/1
pi        9049  0.0  0.7  54464  6512 ?        Sl   juin11   0:00  |   \_ /usr/lib/gvfs/gvfsd-dnssd --spawner :1.5 /org/gtk/gvfs/exec_spaw/3
pi        1132  0.0  0.7  54332  7136 ?        Sl   juin10   0:00  \_ /usr/lib/gnome-online-accounts/goa-identity-service
root       325  0.0  0.7  42968  6412 ?        Ssl  juin10   0:00 /usr/lib/accountsservice/accounts-daemon
root       429  0.0  0.7  39340  6984 ?        Ssl  juin10   0:00 /usr/lib/policykit-1/polkitd --no-debug
pi        1192  0.0  0.6  53316  6228 ?        Sl   juin10   0:00  |   \_ /usr/lib/gvfs/gvfsd-trash --spawner :1.5 /org/gtk/gvfs/exec_spaw/0
root       625  0.0  0.6  47076  5936 ?        Ssl  juin10   0:00 /usr/sbin/lightdm
pi         944  0.0  0.6  46276  5540 ?        Sl   juin10   0:00 /usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately
pi         905  0.0  0.6  43616  6204 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfsd
pi        1083  0.0  0.6  40308  5572 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-goa-volume-monitor
pi        1209  0.0  0.6  31356  5444 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfsd-metadata
root       786  0.0  0.6  30216  5960 ?        Sl   juin10   0:00  \_ lightdm --session-child 12 15
systemd+   282  0.0  0.6  22536  5688 ?        Ssl  juin10   0:01 /lib/systemd/systemd-timesyncd
root       468  0.0  0.6  17152  5396 ?        Sl   juin10   0:35 /usr/bin/monit -c /etc/monit/monitrc
root       344  0.0  0.6  13388  5828 ?        Ss   juin10   0:00 /lib/systemd/systemd-logind
pi         910  0.0  0.5  54512  5184 ?        Sl   juin10   0:00  \_ /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
pi        1069  0.0  0.5  41876  5012 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
pi        1062  0.0  0.5  40308  4704 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-mtp-volume-monitor
pi        1098  0.0  0.5  30616  5216 ?        Sl   juin10   0:02 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
pi        1055  0.0  0.5  26444  5176 ?        Sl   juin10   0:00 /usr/lib/menu-cache/menu-cached /run/user/1000/menu-cached-:0
pi       12875  0.0  0.5  25996  4572 ?        Sl   juin11   0:00  \_ /usr/lib/dconf/dconf-service
root       332  0.0  0.5  11776  4492 ?        SNs  juin10   0:00 /usr/sbin/alsactl -E HOME=/run/alsa -s -n 19 -c rdaemon
root       636  0.0  0.5  10928  5276 ?        Ss   juin10   0:00 /usr/sbin/sshd -D
root       616  0.0  0.4   9808  4204 ?        Ss   juin10   0:00 /usr/lib/bluetooth/bluetoothd
pi        1608  0.0  0.4   9024  3828 pts/0    Ss   juin10   0:00          |   |   \_ bash
message+   321  0.1  0.4   7304  3884 ?        Ss   juin10   4:23 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root       629  0.0  0.4  26708  4068 ?        Ssl  juin10   0:00 /usr/bin/bluealsa
root       154  0.0  0.4  18880  4100 ?        Ss   juin10   0:02 /lib/systemd/systemd-udevd
root       442  0.0  0.4  11472  4088 ?        Ss   juin10   0:20 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
root       328  0.0  0.4  10740  4028 ?        Ss   juin10   0:01 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
pi         803  0.0  0.3   7128  3548 ?        Ss   juin10   0:00  \_ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
pi         974  0.0  0.3   6764  2996 ?        S    juin10   0:00  \_ /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
avahi      319  0.0  0.3   6384  3168 ?        Ss   juin10   2:48 avahi-daemon: running [raspberrypi.local]
root       654  0.0  0.3   5928  2748 tty1     Ss   juin10   0:00 /bin/login -f
root       320  0.0  0.3  25860  2992 ?        Ssl  juin10   0:00 /usr/sbin/rsyslogd -n -iNONE
pi       17859  0.0  0.3  10296  2932 pts/0    R+   21:31   0:00          |   |       \_ ps -auxf
root       612  0.0  0.2   8976  2620 ?        Ss   juin10   0:00 /usr/bin/vncserver-x11-serviced -fg
pi         761  0.0  0.2   8848  2608 tty1     S+   juin10   0:00  \_ -bash
root       351  0.0  0.2   8324  2284 ?        Ss   juin10   0:00 /usr/sbin/cron -f
nobody     329  0.0  0.2   4668  2160 ?        Ss   juin10   0:01 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
root       610  0.0  0.2   2968  1996 ?        Ss   juin10   0:21 /sbin/dhcpcd -q -w
rtkit      323  0.0  0.2  23536  2232 ?        SNsl juin10   0:02 /usr/lib/rtkit/rtkit-daemon
pi         739  0.0  0.2  17228  1908 ?        S    juin10   0:00  \_ (sd-pam)
root       363  0.0  0.1  27656  1348 ?        SLsl juin10   1:46 /usr/sbin/rngd -r /dev/hwrng
avahi      334  0.0  0.0   6120   288 ?        S    juin10   0:00  \_ avahi-daemon: chroot helper
pi         938  0.0  0.0   4520   292 ?        Ss   juin10   0:00 /usr/bin/ssh-agent -s
pi         836  0.0  0.0   4520   288 ?        Ss   juin10   0:00          \_ /usr/bin/ssh-agent x-session-manager
root       590  0.0  0.0   2136   116 ?        S    juin10   0:00 /usr/bin/hciattach /dev/serial1 bcm43xx 3000000 flow - b8:27:eb:d4:88:98
pi       17860  0.0  0.0  12964   488 pts/0    S+   21:31   0:00          |   |       \_ sort -r -k 4
root        79  0.0  0.0      0     0 ?        S    juin10   0:21  \_ [irq/86-mmc1]
root       206  0.0  0.0      0     0 ?        S    juin10   0:07  \_ [brcmf_wdog/mmc1]
root        16  0.0  0.0      0     0 ?        S    juin10   0:04  \_ [ksoftirqd/1]
root        86  0.0  0.0      0     0 ?        S    juin10   0:03  \_ [jbd2/mmcblk0p7-]
root         9  0.0  0.0      0     0 ?        S    juin10   0:02  \_ [ksoftirqd/0]
root        40  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [watchdogd]
root        76  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [vchiq-sync/0]
root        74  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [vchiq-slot/0]
root        75  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [vchiq-recy/0]
root        77  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [vchiq-keep/0]
root        78  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [SMIO]
root       170  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [SMIO]
root        35  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [oom_reaper]
root        25  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/3]
root        20  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/2]
root        15  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/1]
root        12  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/0]
root         2  0.0  0.0      0     0 ?        S    juin10   0:00 [kthreadd]
root        46  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [kswapd0]
root        26  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [ksoftirqd/3]
root        21  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [ksoftirqd/2]
root       648  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [krfcommd]
root        34  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [khungtaskd]
root        29  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [kdevtmpfs]
root        37  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [kcompactd0]
root      1202  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p9-]
root      1271  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p13]
root      1323  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p12]
root      1347  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p11]
root       111  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [irq/166-usb-001]
root        24  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/3]
root        19  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/2]
root        14  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/1]
root        13  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/0]
root        10  0.0  0.0      0     0 ?        I    juin10   0:30  \_ [rcu_sched]
root        89  0.0  0.0      0     0 ?        I<   juin10   0:05  \_ [kworker/0:2H-mmc_complete]
root        18  0.0  0.0      0     0 ?        I<   juin10   0:02  \_ [kworker/1:0H-kblockd]
root        85  0.0  0.0      0     0 ?        I<   juin10   0:01  \_ [kworker/3:1H-kblockd]
root        95  0.0  0.0      0     0 ?        I<   juin10   0:01  \_ [kworker/2:1H-kblockd]
root        43  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [xprtiod]
root        36  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [writeback]
root        41  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [rpciod]
root         4  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [rcu_par_gp]
root         3  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [rcu_gp]
root        11  0.0  0.0      0     0 ?        I    juin10   0:00  \_ [rcu_bh]
root        47  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [nfsiod]
root        30  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [netns]
root         8  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mm_percpu_wq]
root        82  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmc_complete]
root       199  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmal-vchiq]
root       198  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmal-vchiq]
root       197  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmal-vchiq]
root       594  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kworker/u9:2-hci0]
root        42  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kworker/u9:0-hci0]
root        69  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kthrotld]
root        39  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kblockd]
root        71  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [iscsi_eh]
root        91  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ipv6_addrconf]
root        87  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1348  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1324  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1272  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1203  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root        72  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [dwc_otg]
root        73  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [DWC Notificatio]
root        38  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [crypto]
root       204  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [cfg80211]
root       205  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [brcmf_wq/mmc1:0]
root     17785  0.0  0.0      0     0 ?        I    21:29   0:00  \_ [kworker/u8:1-cfg80211]
root     17782  0.0  0.0      0     0 ?        I    21:29   0:00  \_ [kworker/0:0-events]
root     17672  0.0  0.0      0     0 ?        I<   21:27   0:00  \_ [kworker/2:2H]
root     17671  0.0  0.0      0     0 ?        I    21:27   0:00  \_ [kworker/1:2-mm_percpu_wq]
root     17540  0.0  0.0      0     0 ?        I<   21:25   0:00  \_ [kworker/1:2H]
root     17500  0.0  0.0      0     0 ?        I<   21:25   0:00  \_ [kworker/0:0H]
root     17461  0.0  0.0      0     0 ?        I    21:24   0:00  \_ [kworker/0:1-events]
root     17424  0.0  0.0      0     0 ?        I    21:23   0:00  \_ [kworker/u8:0-cfg80211]
root     17341  0.0  0.0      0     0 ?        I    21:22   0:00  \_ [kworker/1:1-mm_percpu_wq]
root     17051  0.0  0.0      0     0 ?        I    21:17   0:00  \_ [kworker/u8:2-events_unbound]
root     16860  0.0  0.0      0     0 ?        I<   21:15   0:00  \_ [kworker/2:0H]
root     16659  0.0  0.0      0     0 ?        I    21:11   0:00  \_ [kworker/2:1-mm_percpu_wq]
root     16284  0.0  0.0      0     0 ?        I<   21:04   0:00  \_ [kworker/3:0H]
root     15563  0.0  0.0      0     0 ?        I    20:51   0:00  \_ [kworker/0:2-events]
root     13891  0.0  0.0      0     0 ?        I    20:23   0:00  \_ [kworker/3:2]
root     13646  0.0  0.0      0     0 ?        I    20:18   0:00  \_ [kworker/2:2-mm_percpu_wq]
root      8309  0.0  0.0      0     0 ?        I    18:42   0:00  \_ [kworker/1:0-events_freezable]
root     32658  0.0  0.0      0     0 ?        I    16:09   0:01  \_ [kworker/3:1-mm_percpu_wq]


With Firefox
Spoiler: show

Code: Select all

Process structure with Web Browser running
Mem 446M/875M or 51 %
SWAP 21M/250M or 8 %
Average 5 Min CPLoad 28 %
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
pi       29118  1.1  9.5 392828 85676 ?        Sl   11:27   0:07                  \_ /usr/lib/firefox-esr/firefox-esr -contentproc -childID 2 -isForBrowser -prefsLen 5960 -prefMapSize 185699 -parentBuildID 20200527211442 -greomni /usr/lib/firefox-esr/omni.ja -appomni /usr/lib/firefox-esr/browser/omni.ja -appdir /usr/lib/firefox-esr/browser 28990 true tab
root       653  0.1  8.2 296404 73696 tty7     Ssl+ juin10   6:20  \_ /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
pi       29228  0.3  6.6 370276 59644 ?        Sl   11:28   0:01                  \_ /usr/lib/firefox-esr/firefox-esr -contentproc -childID 4 -isForBrowser -prefsLen 7296 -prefMapSize 185699 -parentBuildID 20200527211442 -greomni /usr/lib/firefox-esr/omni.ja -appomni /usr/lib/firefox-esr/browser/omni.ja -appdir /usr/lib/firefox-esr/browser 28990 true tab
pi         955  0.0  5.1 263904 45876 ?        Sl   juin10   0:03 clipit
root       668  0.7  4.6 277028 41388 ?        Ssl  juin10  29:45 /home/pi/domoticz/domoticz -daemon -www 8080 -sslwww 443 -log /tmp/domoticz.txt
pi         924  0.2  4.6 169932 41468 ?        Sl   juin10  10:15          \_ lxpanel --profile LXDE-pi
pi        1602  0.0  3.0  86176 27164 ?        Sl   juin10   1:25          |   \_ lxterminal
pi         931  0.0  3.0 159260 26932 ?        Rl   juin10   0:27          \_ pcmanfm --desktop --profile LXDE-pi
pi        9058  0.0  2.9  89852 26264 ?        S    juin11   0:00          |   \_ claws-mail
root       626  0.1  2.8  69008 25236 ?        Sl   juin10   5:08  \_ /usr/bin/vncserver-x11-core -service
pi         940  0.0  2.8  67512 25168 ?        Sl   juin10   0:00 /usr/bin/python -O /usr/share/wicd/gtk/wicd-client.py --tray
pi       28990 20.1 25.9 748520 232760 ?       Sl   11:27   2:02              \_ /usr/lib/firefox-esr/firefox-esr
pi        1096  0.0  2.3 177664 21084 ?        Sl   juin10   0:00  \_ /usr/lib/gnome-online-accounts/goa-daemon
pi         990  0.0  2.0 191724 18160 ?        S<sl juin10   0:00  \_ /usr/bin/pulseaudio --daemonize=no
pi        9041  0.0  1.6  96452 14976 ?        Sl   juin11   0:00  |   \_ /usr/lib/gvfs/gvfsd-smb-browse --spawner :1.5 /org/gtk/gvfs/exec_spaw/2
pi         915  0.0  1.5  64604 14048 ?        S    juin10   0:05          \_ openbox --config-file /home/pi/.config/openbox/lxde-pi-rc.xml
pi       29156  8.5 15.5 455300 138880 ?       Sl   11:27   0:50                  \_ /usr/lib/firefox-esr/firefox-esr -contentproc -childID 3 -isForBrowser -prefsLen 5960 -prefMapSize 185699 -parentBuildID 20200527211442 -greomni /usr/lib/firefox-esr/omni.ja -appomni /usr/lib/firefox-esr/browser/omni.ja -appdir /usr/lib/firefox-esr/browser 28990 true tab
pi         994  0.0  1.5  32220 14120 ?        S    juin10   0:00  \_ /usr/bin/vncserverui -statusicon 5
pi       29056  4.5 13.7 502028 122744 ?       Sl   11:27   0:27                  \_ /usr/lib/firefox-esr/firefox-esr -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 185699 -parentBuildID 20200527211442 -greomni /usr/lib/firefox-esr/omni.ja -appomni /usr/lib/firefox-esr/browser/omni.ja -appdir /usr/lib/firefox-esr/browser 28990 true tab
root       345  0.2  1.3  34276 12320 ?        Ss   juin10   8:31 /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py --no-daemon --keep-connection
root       495  0.0  1.3  23696 12388 ?        S    juin10   3:34  \_ /usr/bin/python -O /usr/share/wicd/daemon/monitor.py
pi         962  0.0  1.2  32392 11352 ?        S    juin10   0:03 /usr/bin/vncserverui service 20
pi        1052  0.0  1.1  98688 10136 ?        Ssl  juin10   0:01  \_ /usr/lib/gvfs/gvfs-udisks2-volume-monitor
pi         794  0.0  1.1  55004  9888 ?        Ssl  juin10   0:01      \_ /usr/bin/lxsession -s LXDE-pi -e LXDE
root       330  0.0  1.0  64000  9228 ?        Ssl  juin10   0:01 /usr/lib/udisks2/udisksd
pi         916  0.0  1.0  47700  8980 ?        Sl   juin10   0:00          \_ lxpolkit
root       672  0.0  1.0  16948  9324 ?        S    juin10   1:05 /usr/bin/vncagent service 20
root       122  0.0  0.8  18832  7276 ?        Ss   juin10   0:03 /lib/systemd/systemd-journald
pi        9035  0.0  0.7  62768  6848 ?        Sl   juin11   0:00  |   \_ /usr/lib/gvfs/gvfsd-network --spawner :1.5 /org/gtk/gvfs/exec_spaw/1
pi        1075  0.0  0.7  56228  7012 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-afc-volume-monitor
pi        9049  0.0  0.7  54464  6628 ?        Sl   juin11   0:00  |   \_ /usr/lib/gvfs/gvfsd-dnssd --spawner :1.5 /org/gtk/gvfs/exec_spaw/3
pi        1132  0.0  0.7  54332  6836 ?        Sl   juin10   0:00  \_ /usr/lib/gnome-online-accounts/goa-identity-service
pi        1192  0.0  0.7  53316  6992 ?        Sl   juin10   0:00  |   \_ /usr/lib/gvfs/gvfsd-trash --spawner :1.5 /org/gtk/gvfs/exec_spaw/0
root       429  0.0  0.7  39340  6504 ?        Ssl  juin10   0:00 /usr/lib/policykit-1/polkitd --no-debug
root         1  0.0  0.7  33948  6984 ?        Ss   juin10   0:10 /sbin/init splash
pi         905  0.0  0.6  43616  5736 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfsd
root       325  0.0  0.6  42968  6012 ?        Ssl  juin10   0:00 /usr/lib/accountsservice/accounts-daemon
pi        1098  0.0  0.6  30616  6140 ?        Sl   juin10   0:03 /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session
root       786  0.0  0.6  30216  5720 ?        Sl   juin10   0:00  \_ lightdm --session-child 12 15
pi         736  0.0  0.6  14840  5424 ?        Ss   juin10   0:00 /lib/systemd/systemd --user
pi         910  0.0  0.5  54512  4612 ?        Sl   juin10   0:00  \_ /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
root       625  0.0  0.5  47076  5196 ?        Ssl  juin10   0:00 /usr/sbin/lightdm
pi         944  0.0  0.5  46276  5060 ?        Sl   juin10   0:00 /usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately
pi        1069  0.0  0.5  41876  4620 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
pi        1083  0.0  0.5  40308  5368 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-goa-volume-monitor
pi        1062  0.0  0.5  40308  5268 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfs-mtp-volume-monitor
pi        1209  0.0  0.5  31356  5112 ?        Ssl  juin10   0:00  \_ /usr/lib/gvfs/gvfsd-metadata
pi        1055  0.0  0.5  26444  4936 ?        Sl   juin10   0:00 /usr/lib/menu-cache/menu-cached /run/user/1000/menu-cached-:0
systemd+   282  0.0  0.5  22536  4684 ?        Ssl  juin10   0:01 /lib/systemd/systemd-timesyncd
root       468  0.0  0.5  17152  4852 ?        Sl   juin10   0:45 /usr/bin/monit -c /etc/monit/monitrc
root       344  0.0  0.5  13388  4800 ?        Ss   juin10   0:01 /lib/systemd/systemd-logind
root       636  0.0  0.5  10928  4760 ?        Ss   juin10   0:00 /usr/sbin/sshd -D
root       616  0.0  0.4   9808  4368 ?        Ss   juin10   0:00 /usr/lib/bluetooth/bluetoothd
pi        1608  0.0  0.4   9024  3732 pts/0    Ss   juin10   0:00          |   |   \_ bash
message+   321  0.1  0.4   7304  3672 ?        Ss   juin10   5:37 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
root       629  0.0  0.4  26708  3904 ?        Ssl  juin10   0:00 /usr/bin/bluealsa
pi       12875  0.0  0.4  25996  4464 ?        Sl   juin11   0:00  \_ /usr/lib/dconf/dconf-service
root       332  0.0  0.4  11776  4376 ?        SNs  juin10   0:00 /usr/sbin/alsactl -E HOME=/run/alsa -s -n 19 -c rdaemon
root       442  0.0  0.4  11472  4184 ?        Ss   juin10   0:26 wpa_supplicant -B -c/etc/wpa_supplicant/wpa_supplicant.conf -iwlan0 -Dnl80211,wext
pi         803  0.0  0.3   7128  3284 ?        Ss   juin10   0:00  \_ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
pi         974  0.0  0.3   6764  3172 ?        S    juin10   0:00  \_ /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
avahi      319  0.0  0.3   6384  3108 ?        Ss   juin10   3:40 avahi-daemon: running [raspberrypi.local]
root       320  0.0  0.3  25860  3508 ?        Ssl  juin10   0:00 /usr/sbin/rsyslogd -n -iNONE
root       154  0.0  0.3  18880  2824 ?        Ss   juin10   0:02 /lib/systemd/systemd-udevd
root       328  0.0  0.3  10740  3556 ?        Ss   juin10   0:01 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
pi       29789  0.0  0.3  10296  2920 pts/0    R+   11:37   0:00          |   |       \_ ps -auxf
root       612  0.0  0.2   8976  2324 ?        Ss   juin10   0:00 /usr/bin/vncserver-x11-serviced -fg
pi         761  0.0  0.2   8848  2452 tty1     S+   juin10   0:00  \_ -bash
root       351  0.0  0.2   8324  2232 ?        Ss   juin10   0:00 /usr/sbin/cron -f
root       654  0.0  0.2   5928  2660 tty1     Ss   juin10   0:00 /bin/login -f
nobody     329  0.0  0.2   4668  2160 ?        Ss   juin10   0:01 /usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user nobody --deviceglob /dev/input/event*
root       610  0.0  0.2   2968  1812 ?        Ss   juin10   0:28 /sbin/dhcpcd -q -w
rtkit      323  0.0  0.2  23536  2228 ?        SNsl juin10   0:03 /usr/lib/rtkit/rtkit-daemon
pi         836  0.0  0.1   4520  1056 ?        Ss   juin10   0:01          \_ /usr/bin/ssh-agent x-session-manager
root       363  0.0  0.1  27656  1348 ?        SLsl juin10   2:16 /usr/sbin/rngd -r /dev/hwrng
pi         739  0.0  0.1  17228  1252 ?        S    juin10   0:00  \_ (sd-pam)
avahi      334  0.0  0.0   6120   252 ?        S    juin10   0:00  \_ avahi-daemon: chroot helper
pi         938  0.0  0.0   4520     4 ?        Ss   juin10   0:00 /usr/bin/ssh-agent -s
root       590  0.0  0.0   2136   108 ?        S    juin10   0:00 /usr/bin/hciattach /dev/serial1 bcm43xx 3000000 flow - b8:27:eb:d4:88:98
pi       29790  0.0  0.0  12964   452 pts/0    S+   11:37   0:00          |   |       \_ sort -r -k 4
root        79  0.0  0.0      0     0 ?        S    juin10   0:27  \_ [irq/86-mmc1]
root       206  0.0  0.0      0     0 ?        S    juin10   0:09  \_ [brcmf_wdog/mmc1]
root        16  0.0  0.0      0     0 ?        S    juin10   0:06  \_ [ksoftirqd/1]
root        86  0.0  0.0      0     0 ?        S    juin10   0:04  \_ [jbd2/mmcblk0p7-]
root         9  0.0  0.0      0     0 ?        S    juin10   0:03  \_ [ksoftirqd/0]
root        40  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [watchdogd]
root        76  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [vchiq-sync/0]
root        74  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [vchiq-slot/0]
root        75  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [vchiq-recy/0]
root        77  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [vchiq-keep/0]
root        78  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [SMIO]
root       170  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [SMIO]
root        35  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [oom_reaper]
root        25  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/3]
root        20  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/2]
root        15  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/1]
root        12  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [migration/0]
root         2  0.0  0.0      0     0 ?        S    juin10   0:00 [kthreadd]
root        46  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [kswapd0]
root        26  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [ksoftirqd/3]
root        21  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [ksoftirqd/2]
root       648  0.0  0.0      0     0 ?        S<   juin10   0:00  \_ [krfcommd]
root        34  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [khungtaskd]
root        29  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [kdevtmpfs]
root        37  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [kcompactd0]
root      1202  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p9-]
root      1271  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p13]
root      1323  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p12]
root      1347  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [jbd2/mmcblk0p11]
root       111  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [irq/166-usb-001]
root        24  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/3]
root        19  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/2]
root        14  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/1]
root        13  0.0  0.0      0     0 ?        S    juin10   0:00  \_ [cpuhp/0]
root        10  0.0  0.0      0     0 ?        I    juin10   0:39  \_ [rcu_sched]
root        89  0.0  0.0      0     0 ?        I<   juin10   0:07  \_ [kworker/0:2H-mmc_complete]
root        85  0.0  0.0      0     0 ?        I<   juin10   0:02  \_ [kworker/3:1H-kblockd]
root        18  0.0  0.0      0     0 ?        I<   juin10   0:02  \_ [kworker/1:0H-kblockd]
root        95  0.0  0.0      0     0 ?        I<   juin10   0:01  \_ [kworker/2:1H-kblockd]
root        43  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [xprtiod]
root        36  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [writeback]
root        41  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [rpciod]
root         4  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [rcu_par_gp]
root         3  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [rcu_gp]
root        11  0.0  0.0      0     0 ?        I    juin10   0:00  \_ [rcu_bh]
root        47  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [nfsiod]
root        30  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [netns]
root         8  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mm_percpu_wq]
root        82  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmc_complete]
root       199  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmal-vchiq]
root       198  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmal-vchiq]
root       197  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [mmal-vchiq]
root       594  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kworker/u9:2-hci0]
root        42  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kworker/u9:0-hci0]
root        69  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kthrotld]
root        39  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [kblockd]
root        71  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [iscsi_eh]
root        91  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ipv6_addrconf]
root        87  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1348  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1324  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1272  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root      1203  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [ext4-rsv-conver]
root        72  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [dwc_otg]
root        73  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [DWC Notificatio]
root        38  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [crypto]
root       204  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [cfg80211]
root       205  0.0  0.0      0     0 ?        I<   juin10   0:00  \_ [brcmf_wq/mmc1:0]
root     29792  0.0  0.0      0     0 ?        I<   11:37   0:00  \_ [kworker/3:0H]
root     29755  0.0  0.0      0     0 ?        I    11:37   0:00  \_ [kworker/2:1-mm_percpu_wq]
root     29754  0.0  0.0      0     0 ?        I    11:37   0:00  \_ [kworker/1:1-events]
root     29752  0.0  0.0      0     0 ?        I<   11:37   0:00  \_ [kworker/0:0H]
root     29697  0.0  0.0      0     0 ?        I    11:35   0:00  \_ [kworker/u8:1-brcmf_wq/mmc1:0001:1]
root     29537  0.0  0.0      0     0 ?        I<   11:33   0:00  \_ [kworker/1:1H]
root     29498  0.0  0.0      0     0 ?        I<   11:32   0:00  \_ [kworker/3:2H]
root     29465  0.0  0.0      0     0 ?        I<   11:32   0:00  \_ [kworker/0:1H]
root     29451  0.0  0.0      0     0 ?        I    11:31   0:00  \_ [kworker/3:0-events]
root     29441  0.0  0.0      0     0 ?        I    11:31   0:00  \_ [kworker/2:0-mm_percpu_wq]
root     29457  0.0  0.0      0     0 ?        I<   11:31   0:00  \_ [kworker/2:0H-kblockd]
root     29390  0.0  0.0      0     0 ?        I    11:30   0:00  \_ [kworker/1:2-mm_percpu_wq]
root     29403  0.0  0.0      0     0 ?        I    11:30   0:00  \_ [kworker/0:0-events]
root     29302  0.0  0.0      0     0 ?        I    11:29   0:00  \_ [kworker/u8:2-events_unbound]
root     28976  0.0  0.0      0     0 ?        I<   11:27   0:00  \_ [kworker/1:2H]
root     28832  0.0  0.0      0     0 ?        I    11:25   0:00  \_ [kworker/1:0-mm_percpu_wq]
root     28620  0.0  0.0      0     0 ?        I    11:21   0:00  \_ [kworker/0:1-events_power_efficient]
root     28137  0.0  0.0      0     0 ?        I    11:12   0:00  \_ [kworker/3:2]
root     28013  0.0  0.0      0     0 ?        I    11:09   0:00  \_ [kworker/u8:0-cfg80211]
root     27744  0.0  0.0      0     0 ?        I    11:05   0:00  \_ [kworker/2:2-mm_percpu_wq]

% SWAP Memory
Image

% RAM Memory

Image

% CPU LOAD 5min

Image

One solution to limit this “memory hog” would be to open/close the browser during each session. There was a thread where it was suggested to use crontab entry to periodically stop/start the browser or even reboot RPI.

Is my situation unique?

If not, what other solutions are possible to stop memory hogs?

Your feedback is most appreciated.
Attachments
SWAP Memory 130620.jpg
SWAP Memory 130620.jpg (46.77 KiB) Viewed 1917 times
RAM Memory 130620.jpg
RAM Memory 130620.jpg (46.77 KiB) Viewed 1917 times
CPU Load 5min.jpg
CPU Load 5min.jpg (51.58 KiB) Viewed 1917 times
The solution to the problem changes the problem!

Rasberry Pi 4 Model B; Bookworm 64 bit OS 6.12.47+rpt-rpi-v8
Domoticz Version: 2025.2
zwave-js-ui: 10.4.2.d3a89a7
zwave-js: 15.3.1
home id: 3714679688
home hex: 0xdd698388
User avatar
elzorrovega
Posts: 65
Joined: Friday 08 May 2020 19:26
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.2
Location: Bordeaux, France
Contact:

Re: Raspberry PI (RPI) Memory Hog

Post by elzorrovega »

While trying to determine what application was hogging the memory of my RaspberryPi, I run system resources diagnostic scripts and singled out LXPANEL as the HOG. This application is Raspberry’s default windows manager and it runs whenever x-Windows based Graphical User Interface is used. A Domoticz sensor collects % RAM usage every two hours and after restarting the RaspberryPi %RAM Usage base line was around 18.6 %. The value kept increasing approximately % 0.5 per day.

I opened a support case with Raspberry on the 13/07/20 and was told to remove the battery monitor from the task tray. They appeared to be on the defensive when I had mentioned a potential memory leak in LXPANEL windows manager. Support team had identified a probable cause and it would be added eventually to later releases.

Ran an update on the Raspberry on the 25/10/20 and the current running kernel is

Linux raspberrypi 5.4.72-v7+ #1356 SMP Thu Oct 22 13:56:54 BST 2020 armv7l GNU/Linux

RAM % Usage is now increasing approximately by 0.205 % per day. System Resource base line after rebooting will be needed to followup which applications are still hogging memory. Shall continue experimenting how long it will take to reach 100 % of RAM Usage with basic applications running.

All this blur to recommend to upgrade your system often to ensure longer runability and avoid resetting your Raspberry every few days. Furthermore, do not leave a running browser in your machine because it will easily eat-up a lot of RAM.

Image
Attachments
last-month.png
last-month.png (100.54 KiB) Viewed 1779 times
The solution to the problem changes the problem!

Rasberry Pi 4 Model B; Bookworm 64 bit OS 6.12.47+rpt-rpi-v8
Domoticz Version: 2025.2
zwave-js-ui: 10.4.2.d3a89a7
zwave-js: 15.3.1
home id: 3714679688
home hex: 0xdd698388
User avatar
erem
Posts: 230
Joined: Tuesday 27 March 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: 2021.1
Location: Amsterdam/netherlands
Contact:

Re: Raspberry PI (RPI) Memory Hog

Post by erem »

long time ago (in a country far from here) i had the same issue
i identified a memory leak in lxpanel.

i added following lines to cron to contain the leak.

Code: Select all

# RESTART lxpanel at midnight to contain memory leak
0 0 * * * DISPLAY=":0.0" lxpanelctl restart 2>&1
and lived happily ever after.

YMMV.
Regards,

Rob
User avatar
elzorrovega
Posts: 65
Joined: Friday 08 May 2020 19:26
Target OS: Raspberry Pi / ODroid
Domoticz version: 2025.2
Location: Bordeaux, France
Contact:

Re: Raspberry PI (RPI) Memory Hog

Post by elzorrovega »

Thanks for the TIP Erem.

I had in cron a script to restart lxpanel and clear cache memory which executed at midnight.

I tried your more elaborate command and it reduced the % RAM Usage by 0.8. I added your line to my script and hopefully my little RPI will also live happily ever after until it meets another nasty character like in the good old fairy tales.

:)

Code: Select all

14/11/2020
# El Zorro
# Script meant to Clear Cache Memory
# If you are using firefox as web browser,open page about:memory and press Minimize memory usage
# echo "restart lxpanel"
# lxpanelctl restart old command
# Updated following Erem's recommendation from 12/12/2020
DISPLAY=":0.0" lxpanelctl restart 2>&1
sleep 5s
# echo "Clear Cache Memory in Use"
# 1 Freeing Up the Page Cache
sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"
sleep 2s
# 2. Freeing Up the Dentries and Inodes
sudo sh -c  "echo 2 > /proc/sys/vm/drop_caches"
sleep 2s
# 3. Freeing Up the Page Cache, Dentries and Inodes
sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
sleep 2s
# 4. Flushing the File System Buffers
sync
The solution to the problem changes the problem!

Rasberry Pi 4 Model B; Bookworm 64 bit OS 6.12.47+rpt-rpi-v8
Domoticz Version: 2025.2
zwave-js-ui: 10.4.2.d3a89a7
zwave-js: 15.3.1
home id: 3714679688
home hex: 0xdd698388
Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 1 guest