We are experiencing some problems mallocing memory in some Server
programs that allocate large amounts of memory mapped shared data,
malloc seems to fail randomly under Digital Unix V4.0B.
Any ideas anyone ?? Do I need to tweak some kernel parameters to allow
more stack ?
Aplogies for the large amount of text following, I hope it is relevant
to the problem.
/var/adm/messages gave the following error (though only in one case)
Feb 18 10:11:45 moe vmunix: malloc failed: bucket size = 768, #of
failures = 1, ra 0xfffffc00003b5a14
Feb 18 10:11:48 moe vmunix: malloc failed: bucket size = 768, #of
failures = 257, ra 0xfffffc00003b5a14
Feb 18 10:11:48 moe vmunix: malloc failed: bucket size = 768, #of
failures = 513, ra 0xfffffc00003b5a14
Feb 18 10:11:49 moe vmunix: malloc failed: bucket size = 768, #of
failures = 769, ra 0xfffffc00003b5a14
looking at the memory with vmstat -M gives
bucket# element_size elements_in_use elements_free bytes_in_use
0 16 6211 7101 99376
1 32 1419 3701 45408
2 64 1156 892 73984
3 96 3498 752 335808
4 128 973 627 124544
5 160 2834 838 453440
6 192 286 302 54912
7 256 633 999 162048
8 320 372 178 119040
9 384 4 17 1536
10 448 0 18 0
11 512 1920 2112 983040
12 576 10 18 5760
13 640 3 9 1920
14 704 148 83 104192
15 768 11 69 8448
16 896 3 6 2688
17 1024 20 12 20480
18 1152 204 146 235008
19 1344 20 4 26880
20 1600 2 38 3200
21 2048 5 31 10240
22 2688 117 6 314496
23 4096 4 2 16384
24 8192 16 6 131072
25 12288 16 8 196608
26 16384 2 4 32768
27 32768 2 0 65536
28 65536 1 0 65536
29 131072 0 0 0
30 262144 0 0 0
31 524288 0 0 0
Total memory being used from buckets = 4150864 bytes
Total free memory in buckets = 2150352 bytes
Memory usage by type: Type and Number of bytes being used
MBUF = 7424 MCLUSTER = 2048 SOCKET = 82560
PCB = 84096 ROUTETBL = 2528 IFADDR = 1216
SONAME = 12800 MBLK = 8192 MBLKDATA = 7808
STRHEAD = 12800 STRQUEUE = 38912 STRMODSW = 2592
STRSYNCQ = 9920 STREAMS = 2944 FILE = 30784
DEVBUF = 339424 PATHNAME = 160 KERNEL TBL = 133936
ADVFS = 5376 IPM OPT = 384 IPM ADDR = 192
IFM ADDR = 832 VNODE = 964160 SIGQ = 512
KALLOC = 133584 TEMP = -809248 PMAP = 147968
CRED = 29696 TASK = 301056 THREAD = 119680
SELQ = 45824 RTTIME = 1664 SVIPC = 80
FILEBUF = 45056 MOUNT = 2528 NAMEI = 1024
MIPC = 207392 VMOBJ = 305216 VMANON = 139648
VMSEG = 20032 VMLOCK = 448 VMMAP = 22464
VMENTRY = 232800 FIFO = 147712 M_ANON = -97089840
M_VMVPAGE = -482752 NCALLOUT = 12000 M_WS = 16384
SIGACT = 17728 HEADER = 768 DNA = 58080
DLI = 6592 VMSWAP = 4992
Should there be -ve numbers here ??, There isn't when the system starts
up, they only go -ve after starting our Server processes
Cheers
Steve Walker
swalker_at_dsl.uk.ibm.com
Received on Mon Feb 23 1998 - 13:25:18 NZDT