Messages in this thread | | | Date | 02 Jan 1998 00:31:00 +0200 | From | (Kai Henningsen) | Subject | 2.0.33 Memory leak (bad) |
| |
I thought the leak was supposed to be gone with .33? Well, it isn't. The longest uptime I've managed with 2.0.33 is 4 days; I'm beginning to feel microsoftish.
Looks like the old routing-related problem to me; a huge count for network allocations, plus a system that has lots of route changes (whenever diald starts or stops my net connection, which is fairly often).
System: Linux khms.westfalen.de 2.0.33 #7 Thu Dec 25 15:16:41 CET 1997 i486 unknown
Unmodified kernel sources from ftp.kernel.org.
This is an empty system (X with no login, some console bash sesseions, the usual daemons, _nothing_ else - even killed top), after 2.5 days uptime, practically unuseable:
total used free shared buffers cached Mem: 62676 54212 8464 2584 912 1608 -/+ buffers/cache: 51692 10984 Swap: 229748 13372 216376
This is essentially the same system (less bash, more login) fresh after reboot:
total used free shared buffers cached Mem: 62676 31940 30736 31168 5444 11160 -/+ buffers/cache: 15336 47340 Swap: 229748 0 229748
Something is eating memory like there is no tomorrow. That's around 50 MB gone missing from my 64 MB!
Shift-ScrollLock shortly during reboot:
Jan 2 00:08:04 khms kernel: Mem-info: Jan 2 00:08:04 khms kernel: Free pages: 5704kB Jan 2 00:08:04 khms kernel: ( 574*4kB 294*8kB 32*16kB 3*32kB 1*64kB 3*128kB = 5704kB) Jan 2 00:08:04 khms kernel: Swap cache: add 81161/81161, delete 44678330/70712, find 70437/10326 Jan 2 00:08:04 khms kernel: Free swap: 226620kB Jan 2 00:08:04 khms kernel: 16384 pages of RAM Jan 2 00:08:04 khms kernel: 1479 free pages Jan 2 00:08:04 khms kernel: 715 reserved pages Jan 2 00:08:04 khms kernel: 881 pages shared Jan 2 00:08:04 khms kernel: Buffer memory: 1296kB Jan 2 00:08:04 khms kernel: Buffer heads: 1297 Jan 2 00:08:04 khms kernel: Buffer blocks: 1296 Jan 2 00:08:04 khms kernel: CLEAN: 751 buffers, 196 used (last=196), 0 locked, 0 protected, 0 dirty Jan 2 00:08:04 khms kernel: LOCKED: 303 buffers, 137 used (last=279), 0 locked, 0 protected, 0 dirty Jan 2 00:08:04 khms kernel: DIRTY: 214 buffers, 7 used (last=166), 0 locked, 0 protected, 214 dirty Jan 2 00:08:04 khms kernel: Networking buffers in use : 10 Jan 2 00:08:04 khms kernel: Network buffers locked by drivers : 0 Jan 2 00:08:04 khms kernel: Total network buffer allocations : 7256216 Jan 2 00:08:04 khms kernel: Total failed network buffer allocs : 0 Jan 2 00:08:04 khms kernel: Total free while locked events : 0 Jan 2 00:08:04 khms kernel: IP fragment buffer size : 0
... and after:
Jan 2 00:11:29 khms kernel: Mem-info: Jan 2 00:11:29 khms kernel: Free pages: 30624kB Jan 2 00:11:29 khms kernel: ( 4*4kB 6*8kB 4*16kB 1*32kB 0*64kB 238*128kB = 30624kB) Jan 2 00:11:29 khms kernel: Swap cache: add 0/0, delete 122805/0, find 0/0 Jan 2 00:11:29 khms kernel: Free swap: 229748kB Jan 2 00:11:29 khms kernel: 16384 pages of RAM Jan 2 00:11:29 khms kernel: 7707 free pages Jan 2 00:11:29 khms kernel: 715 reserved pages Jan 2 00:11:29 khms kernel: 7668 pages shared Jan 2 00:11:29 khms kernel: Buffer memory: 5444kB Jan 2 00:11:29 khms kernel: Buffer heads: 5456 Jan 2 00:11:29 khms kernel: Buffer blocks: 5444 Jan 2 00:11:29 khms kernel: CLEAN: 4721 buffers, 290 used (last=4079), 0 locked, 0 protected, 0 dirty Jan 2 00:11:29 khms kernel: LOCKED: 659 buffers, 47 used (last=659), 0 locked, 0 protected, 0 dirty Jan 2 00:11:29 khms kernel: DIRTY: 26 buffers, 3 used (last=20), 0 locked, 0 protected, 26 dirty Jan 2 00:11:29 khms kernel: Networking buffers in use : 501 Jan 2 00:11:29 khms kernel: Network buffers locked by drivers : 0 Jan 2 00:11:29 khms kernel: Total network buffer allocations : 4252 Jan 2 00:11:29 khms kernel: Total failed network buffer allocs : 0 Jan 2 00:11:29 khms kernel: Total free while locked events : 0 Jan 2 00:11:29 khms kernel: IP fragment buffer size : 0
And here's the .config, in case it makes a difference:
# # Automatically generated make config: don't edit #
# # Code maturity level options # CONFIG_EXPERIMENTAL=y
# # Loadable module support # CONFIG_MODULES=y CONFIG_MODVERSIONS=y CONFIG_KERNELD=y
# # General setup # # CONFIG_MATH_EMULATION is not set CONFIG_NET=y # CONFIG_MAX_16M is not set CONFIG_PCI=y CONFIG_PCI_OPTIMIZE=y CONFIG_SYSVIPC=y CONFIG_BINFMT_AOUT=y CONFIG_BINFMT_ELF=y CONFIG_BINFMT_JAVA=m CONFIG_KERNEL_ELF=y # CONFIG_M386 is not set CONFIG_M486=y # CONFIG_M586 is not set # CONFIG_M686 is not set
# # Floppy, IDE, and other block devices # CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_IDE=y
# # Please see Documentation/ide.txt for help/info on IDE drives # # CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDECD=y CONFIG_BLK_DEV_IDETAPE=y # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set CONFIG_BLK_DEV_IDE_PCMCIA=y CONFIG_BLK_DEV_CMD640=y CONFIG_BLK_DEV_CMD640_ENHANCED=y CONFIG_BLK_DEV_RZ1000=y CONFIG_BLK_DEV_TRITON=y CONFIG_IDE_CHIPSETS=y
# # Note: most of these also require special kernel boot parameters # # CONFIG_BLK_DEV_ALI14XX is not set # CONFIG_BLK_DEV_DTC2278 is not set # CONFIG_BLK_DEV_HT6560B is not set # CONFIG_BLK_DEV_PROMISE is not set # CONFIG_BLK_DEV_QD6580 is not set # CONFIG_BLK_DEV_UMC8672 is not set
# # Additional Block Devices # CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_MD=y CONFIG_MD_LINEAR=y CONFIG_MD_STRIPED=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_INITRD=y # CONFIG_BLK_DEV_XD is not set # CONFIG_BLK_DEV_HD is not set
# # Networking options # CONFIG_FIREWALL=y CONFIG_NET_ALIAS=y CONFIG_INET=y # CONFIG_IP_FORWARD is not set CONFIG_IP_MULTICAST=y CONFIG_SYN_COOKIES=y CONFIG_RST_COOKIES=y CONFIG_IP_FIREWALL=y CONFIG_IP_FIREWALL_VERBOSE=y # CONFIG_IP_MASQUERADE is not set # CONFIG_IP_TRANSPARENT_PROXY is not set # CONFIG_IP_ALWAYS_DEFRAG is not set CONFIG_IP_ACCT=y # CONFIG_IP_ROUTER is not set CONFIG_NET_IPIP=m # CONFIG_IP_MROUTE is not set CONFIG_IP_ALIAS=m # CONFIG_ARPD is not set
# # (it is safe to leave these untouched) # # CONFIG_INET_PCTCP is not set CONFIG_INET_RARP=m # CONFIG_NO_PATH_MTU_DISCOVERY is not set CONFIG_IP_NOSR=y CONFIG_SKB_LARGE=y
# # # CONFIG_IPX=m CONFIG_ATALK=m # CONFIG_AX25 is not set # CONFIG_BRIDGE is not set CONFIG_NETLINK=y CONFIG_RTNETLINK=y
# # SCSI support # CONFIG_SCSI=y
# # SCSI support type (disk, tape, CD-ROM) # CONFIG_BLK_DEV_SD=y CONFIG_CHR_DEV_ST=y CONFIG_BLK_DEV_SR=y CONFIG_CHR_DEV_SG=y
# # Some SCSI devices (e.g. CD jukebox) support multiple LUNs # # CONFIG_SCSI_MULTI_LUN is not set CONFIG_SCSI_CONSTANTS=y
# # SCSI low-level drivers # # CONFIG_SCSI_7000FASST is not set # CONFIG_SCSI_AHA152X is not set # CONFIG_SCSI_AHA1542 is not set # CONFIG_SCSI_AHA1740 is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_IN2000 is not set # CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_DTC3280 is not set # CONFIG_SCSI_EATA_DMA is not set # CONFIG_SCSI_EATA_PIO is not set # CONFIG_SCSI_EATA is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_GENERIC_NCR5380 is not set # CONFIG_SCSI_NCR53C406A is not set CONFIG_SCSI_NCR53C7xx=y CONFIG_SCSI_NCR53C7xx_sync=y CONFIG_SCSI_NCR53C7xx_FAST=y CONFIG_SCSI_NCR53C7xx_DISCONNECT=y # CONFIG_SCSI_PPA is not set # CONFIG_SCSI_PAS16 is not set # CONFIG_SCSI_QLOGIC_FAS is not set # CONFIG_SCSI_QLOGIC_ISP is not set # CONFIG_SCSI_SEAGATE is not set # CONFIG_SCSI_DC390T is not set # CONFIG_SCSI_T128 is not set # CONFIG_SCSI_U14_34F is not set # CONFIG_SCSI_ULTRASTOR is not set # CONFIG_SCSI_GDTH is not set
# # Network device support # CONFIG_NETDEVICES=y CONFIG_DUMMY=y # CONFIG_EQUALIZER is not set # CONFIG_DLCI is not set # CONFIG_PLIP is not set CONFIG_PPP=y
# # CCP compressors for PPP are only built as modules. # CONFIG_SLIP=y CONFIG_SLIP_COMPRESSED=y CONFIG_SLIP_SMART=y # CONFIG_SLIP_MODE_SLIP6 is not set # CONFIG_NET_RADIO is not set # CONFIG_NET_ETHERNET is not set # CONFIG_TR is not set # CONFIG_FDDI is not set # CONFIG_ARCNET is not set
# # ISDN subsystem # CONFIG_ISDN=y CONFIG_ISDN_PPP=y CONFIG_ISDN_PPP_VJ=y # CONFIG_ISDN_MPP is not set CONFIG_ISDN_AUDIO=y # CONFIG_ISDN_DRV_ICN is not set # CONFIG_ISDN_DRV_PCBIT is not set CONFIG_ISDN_DRV_HISAX=y CONFIG_HISAX_EURO=y # CONFIG_HISAX_1TR6 is not set # CONFIG_HISAX_16_0 is not set CONFIG_HISAX_16_3=y # CONFIG_HISAX_AVM_A1 is not set # CONFIG_HISAX_ELSA_PCC is not set # CONFIG_HISAX_ELSA_PCMCIA is not set # CONFIG_HISAX_IX1MICROR2 is not set # CONFIG_ISDN_DRV_SC is not set # CONFIG_ISDN_DRV_AVMB1 is not set
# # CD-ROM drivers (not for SCSI or IDE/ATAPI drives) # # CONFIG_CD_NO_IDESCSI is not set
# # Filesystems # CONFIG_QUOTA=y CONFIG_MINIX_FS=m # CONFIG_EXT_FS is not set CONFIG_EXT2_FS=y # CONFIG_XIA_FS is not set CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=m CONFIG_UMSDOS_FS=m CONFIG_PROC_FS=y CONFIG_NFS_FS=y # CONFIG_ROOT_NFS is not set CONFIG_SMB_FS=m # CONFIG_SMB_WIN95 is not set CONFIG_NCP_FS=m CONFIG_ISO9660_FS=y CONFIG_HPFS_FS=m # CONFIG_SYSV_FS is not set CONFIG_AUTOFS_FS=m # CONFIG_AFFS_FS is not set # CONFIG_UFS_FS is not set
# # Character devices # CONFIG_SERIAL=y # CONFIG_DIGI is not set # CONFIG_CYCLADES is not set # CONFIG_STALDRV is not set # CONFIG_RISCOM8 is not set CONFIG_PRINTER=y # CONFIG_SPECIALIX is not set # CONFIG_MOUSE is not set CONFIG_UMISC=y # CONFIG_QIC02_TAPE is not set # CONFIG_FTAPE is not set CONFIG_APM=y # CONFIG_APM_IGNORE_USER_SUSPEND is not set CONFIG_APM_DO_ENABLE=y CONFIG_APM_CPU_IDLE=y # CONFIG_APM_DISPLAY_BLANK is not set # CONFIG_APM_POWER_OFF is not set CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set # CONFIG_WDT is not set CONFIG_SOFT_WATCHDOG=y # CONFIG_PCWATCHDOG is not set CONFIG_RTC=y
# # Sound # CONFIG_SOUND=y # CONFIG_PAS is not set CONFIG_SB=y CONFIG_ADLIB=y # CONFIG_GUS is not set CONFIG_MPU401=y # CONFIG_UART6850 is not set # CONFIG_PSS is not set # CONFIG_GUS16 is not set # CONFIG_GUSMAX is not set # CONFIG_MSS is not set # CONFIG_SSCAPE is not set # CONFIG_TRIX is not set # CONFIG_MAD16 is not set # CONFIG_CS4232 is not set # CONFIG_MAUI is not set CONFIG_AUDIO=y CONFIG_MIDI=y CONFIG_YM3812=y SBC_BASE=220 SBC_IRQ=5 SBC_DMA=1 SB_DMA2=5 SB_MPU_BASE=0 SB_MPU_IRQ=-1 MPU_BASE=330 MPU_IRQ=9 DSP_BUFFSIZE=65536 CONFIG_LOWLEVEL_SOUND=y # CONFIG_ACI_MIXER is not set
# # Kernel hacking # # CONFIG_PROFILE is not set
MfG Kai
| |