|
|
1.1 ! root 1: BEGIN { ! 2: MSIZE = 128; MCLBYTES = 1024; ! 3: keys[0] = "free"; ! 4: keys[1] = "data"; ! 5: keys[2] = "packet headers"; ! 6: keys[3] = "socket structures"; ! 7: keys[4] = "protocol control blocks"; ! 8: keys[5] = "routing tables"; ! 9: keys[6] = "IMP host tables"; ! 10: keys[7] = "address resolution tables"; ! 11: keys[8] = "socket names"; ! 12: keys[9] = "zombie process status"; ! 13: keys[10] = "socket options"; ! 14: keys[11] = "fragment reassembly headers"; ! 15: ! 16: total = 0; inuse = 0; ! 17: ! 18: didany = 0; ! 19: for (i in mbufS) { ! 20: didany = 1; ! 21: ! 22: i = mbufS; j = mbufFrees; ! 23: if (i == 0) { printf "no mbufS!?!\n"; exit(1); } ! 24: printf "%d/%d mbufs in use:\n", i - j, i; ! 25: total += i * MSIZE; inuse += (i - j) * MSIZE; ! 26: ! 27: didone = 0; ! 28: for (i in mbufType) { ! 29: didone = 1; ! 30: ! 31: if (mbufAllocates) { ! 32: printf "\t%d mbufs allocated to ", mbufAllocates; ! 33: if (k = keys[mbufType]) ! 34: printf "%s\n", k; ! 35: else ! 36: printf "mbuf type %d\n", mbufType; ! 37: } ! 38: } ! 39: if (!didone && DIAGNOSTIC) ! 40: printf "mbufTable: %s\n", DIAGNOSTIC; ! 41: ! 42: i = mbufClusters; j = mbufFreeClusters ! 43: printf "%d/%d mapped pages in use\n", i - j, i; ! 44: total += i * MCLBYTES; inuse += (i - j) * MCLBYTES; ! 45: ! 46: printf "%d Kbytes allocated to network (%d%% in use) ESTIMATE\n", ! 47: total / 1024, (inuse * 100) / total; ! 48: printf "%d requests for memory denied\n", mbufDrops; ! 49: } ! 50: if (!didany && DIAGNOSTIC) ! 51: printf "mbuf group: %s\n", DIAGNOSTIC; ! 52: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.