Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

wired memory leak



Hello,
I tried running a x86_64 11.0_RC4 kernel on a netbsd-10 userland on my
workstation. This is a 16GB box, with an Intel GPU:
cpu0: Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz, id 0x906ea
pchb0 at pci0 dev 0 function 0: Intel Core 8G (S) Host Bridge, DRAM (rev. 0x07)
i915drmkms0 at pci0 dev 2 function 0: Intel UHD Graphics 630 (rev. 0x00)
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] Driver supports precise vblank timestamp query.
i915drmkms0: interrupting at msi5 vec 0 (i915drmkms0)
i915drmkms0: notice: Failed to load DMC firmware i915/kbl_dmc_ver1_04.bin. Disabling runtime power management.
[drm] failed to retrieve link info, disabling eDP
[drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on minor 0
intelfb0 at i915drmkms0
[drm] DRM_I915_DEBUG enabled
[drm] DRM_I915_DEBUG_GEM enabled
intelfb0: framebuffer at 0x80040000, size 1920x1200, depth 32, stride 7680

It is running a netbsd-10 userland, with pkgsrc-2025Q4's Xorg

I notice what seems to be a wired memory leak; at this time top reports
(after barely one day of uptime):
Memory: 130M Act, 16M Inact, 10G Wired, 38M Exec, 37M File, 299M Free

and of course it's swapping heavily. I suspect this is graphics-related
because it seems to be related to firefox activity (the slowdown appeared
while watching wind animations from windy - earlier today top reported below
1GB or wired memory). I've never noticed this with the -10 kernel,
the system would stay up for weeks without issues.
Killing firefox or the X server recovers less than  1GB of wired memory.
The biggest (memory-wise) process at this time is:
16333 bouyer    85    0   836M   61M poll/1      0:12  0.00%  0.00% python3.13

attached is the full vmstat -s output

So I suspect there is a leak of wired memory, possibly in the kernel
graphic drivers. Does it ring a bell to someone ?

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--
     4096 bytes per page
       16 page colors
  4007639 pages managed
    47560 pages free
    41645 pages active
     4129 pages inactive
        0 pages paging
  2689079 pages wired
        1 reserve pagedaemon pages
       30 reserve kernel pages
   125247 boot kernel pages
  1021783 kernel pool pages
  2715335 anonymous pages
     9632 cached file pages
     9950 cached executable pages
     1536 minimum free pages
     2048 target free pages
  1335879 maximum wired pages
        1 swap devices
  3932415 swap pages
    84398 swap pages in use
 11118242 swap allocations
137264010 total faults taken
 61047735 traps
 91544309 device interrupts
620820475 CPU context switches
140754867 software interrupts
3247814652 system calls
 11061575 pagein requests
   450917 pageout requests
        0 pages swapped in
  7193133 pages swapped out
    32805 forks total
    15033 forks blocked parent
    15033 forks shared address space with parent
213127758 pagealloc desired color avail
  4090958 pagealloc desired color not avail
198257471 pagealloc local cpu avail
 18961245 pagealloc local cpu not avail
    26383 faults with no memory
        0 faults with no anons
    14712 faults had to wait on pages
        0 faults found released page
 16206992 faults relock (16144961 ok)
 89485119 anon page faults
 11059398 anon retry faults
  4313328 amap copy faults
  1174687 neighbour anon page faults
 27744700 neighbour object page faults
 13478752 locked pager get faults
  5112145 unlocked pager get faults
 88826151 anon faults
   620714 anon copy on write faults
 11851044 object faults
  1578648 promote copy faults
 32730984 promote zero fill faults
   944487 faults upgraded lock
    22416 faults couldn't upgrade lock
     4637 times daemon wokeup
     4638 revolutions of the clock hand
 32628149 pages freed by daemon
 55825959 pages scanned by daemon
 13378186 anonymous pages scanned by daemon
 19250051 object pages scanned by daemon
  6874935 pages reactivated
      749 pages found busy by daemon
  6742216 total pending pageouts
 56096241 pages deactivated
 48711480 per-cpu stats synced
    24655 anon pages possibly dirty
  2690680 anon pages dirty
        0 anon pages clean
       11 file pages possibly dirty
        4 file pages dirty
    19567 file pages clean
1026110170 total name lookups
124846495 good hits
  1953746 negative hits
  1686016 bad hits
        0 false hits
897623913 miss
        0 too long
 26643887 pass2 hits
 28283627 2passes
   217478 reverse hits
       13 reverse miss
        0 access denied
          cache hits (12% pos + 0% neg) system 2% per-process
          deletions 0%, falsehits 0%, toolong 0%



Home | Main Index | Thread Index | Old Index