You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Zhao Yongming (Commented) (JIRA)" <ji...@apache.org> on 2011/11/19 04:34:52 UTC

[jira] [Commented] (TS-1006) memory management, cut down memory waste ?

    [ https://issues.apache.org/jira/browse/TS-1006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13153365#comment-13153365 ] 

Zhao Yongming commented on TS-1006:
-----------------------------------

we have made some enhancement and the result looks like the following, and we are still tracking for bugs and this is the first try, we will submit then codes after it stable for our usage.

{code}
[Nov 19 11:25:42.351] Server {0x4257a940} WARNING: Document 644CE0FF truncated at 10485040 of 21289520, missing fragment 9DD38ED0
     allocated      |        in-use      | type size  |   free list name
--------------------|--------------------|------------|----------------------------------
           67108864 |                  0 |    2097152 | memory/cacheBufAllocator[14]
           33554432 |                  0 |    1048576 | memory/cacheBufAllocator[13]
           33554432 |            1572864 |     524288 | memory/cacheBufAllocator[12]
           33554432 |            6029312 |     262144 | memory/cacheBufAllocator[11]
           37748736 |           17301504 |     131072 | memory/cacheBufAllocator[10]
           35651584 |           32964608 |      65536 | memory/cacheBufAllocator[9]
           70254592 |           64782336 |      32768 | memory/cacheBufAllocator[8]
           55574528 |           46366720 |      16384 | memory/cacheBufAllocator[7]
           28573696 |           22749184 |       8192 | memory/cacheBufAllocator[6]
           11534336 |            8888320 |       4096 | memory/cacheBufAllocator[5]
                  0 |                  0 |       2048 | memory/cacheBufAllocator[4]
                  0 |                  0 |       1024 | memory/cacheBufAllocator[3]
                  0 |                  0 |        512 | memory/cacheBufAllocator[2]
                  0 |                  0 |        256 | memory/cacheBufAllocator[1]
                  0 |                  0 |        128 | memory/cacheBufAllocator[0]
            1572864 |             997376 |       2048 | memory/hdrStrHeap
            2621440 |            1466368 |       2048 | memory/hdrHeap
             262144 |             203776 |       1024 | memory/ArenaBlock
     dallocated     |        in-use      | type size  |   free list name
--------------------|--------------------|------------|----------------------------------
                  0 |                  0 |    2097152 | memory/ioBufAllocator[14]
                  0 |                  0 |    1048576 | memory/ioBufAllocator[13]
                  0 |                  0 |     524288 | memory/ioBufAllocator[12]
                  0 |                  0 |     262144 | memory/ioBufAllocator[11]
                  0 |                  0 |     131072 | memory/ioBufAllocator[10]
                  0 |                  0 |      65536 | memory/ioBufAllocator[9]
            7340032 |            6455296 |      32768 | memory/ioBufAllocator[8]
            1048576 |             720896 |      16384 | memory/ioBufAllocator[7]
            1310720 |            1048576 |       8192 | memory/ioBufAllocator[6]
            1572864 |             929792 |       4096 | memory/ioBufAllocator[5]
                  0 |                  0 |       2048 | memory/ioBufAllocator[4]
                  0 |                  0 |       1024 | memory/ioBufAllocator[3]
                  0 |                  0 |        512 | memory/ioBufAllocator[2]
                  0 |                  0 |        256 | memory/ioBufAllocator[1]
                  0 |                  0 |        128 | memory/ioBufAllocator[0]
                  0 |                  0 |        592 | memory/ICPRequestCont_allocator
                  0 |                  0 |        128 | memory/ICPPeerReadContAllocator
                  0 |                  0 |        432 | memory/PeerReadDataAllocator
                  0 |                  0 |         32 | memory/MIMEFieldSDKHandle
                  0 |                  0 |        256 | memory/INKVConnAllocator
                  0 |                  0 |        112 | memory/INKContAllocator
                  0 |                  0 |         32 | memory/apiHookAllocator
                  0 |                  0 |        304 | memory/FetchSMAllocator
                  0 |                  0 |         80 | memory/prefetchLockHandlerAllocator
                  0 |                  0 |        176 | memory/PrefetchBlasterAllocator
                  0 |                  0 |         80 | memory/prefetchUrlBlaster
                  0 |                  0 |         96 | memory/blasterUrlList
                  0 |                  0 |         96 | memory/prefetchUrlEntryAllocator
                  0 |                  0 |        128 | memory/socksProxyAllocator
                  0 |                  0 |        160 | memory/ObjectReloadCont
             155648 |             120992 |        608 | memory/httpClientSessionAllocator
              26624 |               1456 |        208 | memory/httpServerSessionAllocator
            2531328 |            1967712 |       9888 | memory/httpSMAllocator
                  0 |                  0 |         32 | memory/CacheLookupHttpConfigAllocator
                  0 |                  0 |       9936 | memory/httpUpdateSMAllocator
                  0 |                  0 |        128 | memory/RemapPluginsAlloc
                  0 |                  0 |        544 | memory/HCSMAllocator
                  0 |                  0 |         48 | memory/VCEntryAllocator
                  0 |                  0 |         96 | memory/HCEntryAllocator
                  0 |                  0 |         80 | memory/HCHandlerAllocator
                  0 |                  0 |         48 | memory/CongestRequestParamAllocator
                  0 |                  0 |        128 | memory/CongestionDBContAllocator
              53248 |              29328 |        208 | memory/httpCacheAltAllocator
                  0 |                  0 |        128 | memory/OneWayTunnelAllocator
             157696 |               1232 |       1232 | memory/hostDBContAllocator
                  0 |                  0 |      17040 | memory/dnsBufAllocator
                  0 |                  0 |       1264 | memory/dnsEntryAllocator
                  0 |                  0 |         16 | memory/DNSRequestDataAllocator
                  0 |                  0 |       1072 | memory/SRVAllocator
                  0 |                  0 |         48 | memory/ClusterVConnectionCache::Entry
                  0 |                  0 |        560 | memory/cacheContAllocator
                  0 |                  0 |        112 | memory/inControlAllocator
                  0 |                  0 |        128 | memory/outControlAllocator
                  0 |                  0 |         32 | memory/byteBankAllocator
                  0 |                  0 |        592 | memory/clusterVCAllocator
                  0 |                  0 |         48 | memory/evacuationKey
                  0 |                  0 |         64 | memory/cacheRemoveCont
             258048 |             183168 |         96 | memory/evacuationBlock
            3461120 |            2541760 |       1040 | memory/cacheVConnection
             491520 |             337440 |        160 | memory/openDirEntry
                  0 |                  0 |         64 | memory/RamCacheLRUEntry
            2297856 |            2290272 |         96 | memory/RamCacheCLFUSEntry
             507904 |             489056 |        992 | memory/netVCAllocator
                  0 |                  0 |        128 | memory/udpReadContAllocator
                  0 |                  0 |        144 | memory/udpWorkContinuationAllocator
                  0 |                  0 |        160 | memory/udpPacketAllocator
                  0 |                  0 |        320 | memory/socksAllocator
                  0 |                  0 |       1120 | memory/sslNetVCAllocator
                  0 |                  0 |        128 | memory/UDPIOEventAllocator
              49152 |              36352 |         64 | memory/ioBlockAllocator
             620544 |             528576 |         48 | memory/ioDataAllocator
              92160 |              49440 |        240 | memory/ioAllocator
            1992704 |            1973104 |        112 | memory/mutexAllocator
              98304 |              75264 |         96 | memory/eventAllocator
{code}
                
> memory management, cut down memory waste ?
> ------------------------------------------
>
>                 Key: TS-1006
>                 URL: https://issues.apache.org/jira/browse/TS-1006
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 3.1.1
>            Reporter: Zhao Yongming
>            Assignee: Zhao Yongming
>             Fix For: 3.1.3
>
>
> when we review the memory usage in the production, there is something abnormal, ie, looks like TS take much memory than index data + common system waste, and here is some memory dump result by set "proxy.config.dump_mem_info_frequency"
> 1, the one on a not so busy forwarding system:
> physics memory: 32G
> RAM cache: 22G
> DISK: 6140 GB
> average_object_size 64000
> {code}
>      allocated      |        in-use      | type size  |   free list name
> --------------------|--------------------|------------|----------------------------------
>           671088640 |           37748736 |    2097152 | memory/ioBufAllocator[14]
>          2248146944 |         2135949312 |    1048576 | memory/ioBufAllocator[13]
>          1711276032 |         1705508864 |     524288 | memory/ioBufAllocator[12]
>          1669332992 |         1667760128 |     262144 | memory/ioBufAllocator[11]
>          2214592512 |         2211840000 |     131072 | memory/ioBufAllocator[10]
>          2325741568 |         2323775488 |      65536 | memory/ioBufAllocator[9]
>          2091909120 |         2089123840 |      32768 | memory/ioBufAllocator[8]
>          1956642816 |         1956478976 |      16384 | memory/ioBufAllocator[7]
>          2094530560 |         2094071808 |       8192 | memory/ioBufAllocator[6]
>           356515840 |          355540992 |       4096 | memory/ioBufAllocator[5]
>             1048576 |              14336 |       2048 | memory/ioBufAllocator[4]
>              131072 |                  0 |       1024 | memory/ioBufAllocator[3]
>               65536 |                  0 |        512 | memory/ioBufAllocator[2]
>               32768 |                  0 |        256 | memory/ioBufAllocator[1]
>               16384 |                  0 |        128 | memory/ioBufAllocator[0]
>                   0 |                  0 |        576 | memory/ICPRequestCont_allocator
>                   0 |                  0 |        112 | memory/ICPPeerReadContAllocator
>                   0 |                  0 |        432 | memory/PeerReadDataAllocator
>                   0 |                  0 |         32 | memory/MIMEFieldSDKHandle
>                   0 |                  0 |        240 | memory/INKVConnAllocator
>                   0 |                  0 |         96 | memory/INKContAllocator
>                4096 |                  0 |         32 | memory/apiHookAllocator
>                   0 |                  0 |        288 | memory/FetchSMAllocator
>                   0 |                  0 |         80 | memory/prefetchLockHandlerAllocator
>                   0 |                  0 |        176 | memory/PrefetchBlasterAllocator
>                   0 |                  0 |         80 | memory/prefetchUrlBlaster
>                   0 |                  0 |         96 | memory/blasterUrlList
>                   0 |                  0 |         96 | memory/prefetchUrlEntryAllocator
>                   0 |                  0 |        128 | memory/socksProxyAllocator
>                   0 |                  0 |        144 | memory/ObjectReloadCont
>             3258368 |             576016 |        592 | memory/httpClientSessionAllocator
>              825344 |             139568 |        208 | memory/httpServerSessionAllocator
>            22597632 |            1284848 |       9808 | memory/httpSMAllocator
>                   0 |                  0 |         32 | memory/CacheLookupHttpConfigAllocator
>                   0 |                  0 |       9856 | memory/httpUpdateSMAllocator
>                   0 |                  0 |        128 | memory/RemapPluginsAlloc
>                   0 |                  0 |         48 | memory/CongestRequestParamAllocator
>                   0 |                  0 |        128 | memory/CongestionDBContAllocator
>             5767168 |             704512 |       2048 | memory/hdrStrHeap
>            18350080 |            1153024 |       2048 | memory/hdrHeap
>               53248 |               2912 |        208 | memory/httpCacheAltAllocator
>                   0 |                  0 |        112 | memory/OneWayTunnelAllocator
>              157696 |               1232 |       1232 | memory/hostDBContAllocator
>              102240 |              17040 |      17040 | memory/dnsBufAllocator
>              323584 |                  0 |       1264 | memory/dnsEntryAllocator
>                   0 |                  0 |         16 | memory/DNSRequestDataAllocator
>                   0 |                  0 |       1072 | memory/SRVAllocator
>                   0 |                  0 |         48 | memory/ClusterVConnectionCache::Entry
>                   0 |                  0 |        560 | memory/cacheContAllocator
>                   0 |                  0 |        112 | memory/inControlAllocator
>                   0 |                  0 |        112 | memory/outControlAllocator
>                   0 |                  0 |         32 | memory/byteBankAllocator
>                   0 |                  0 |        576 | memory/clusterVCAllocator
>                   0 |                  0 |         48 | memory/evacuationKey
>                6144 |                  0 |         48 | memory/cacheRemoveCont
>              270336 |             262560 |         96 | memory/evacuationBlock
>             4997120 |            3968416 |        976 | memory/cacheVConnection
>              798720 |             522080 |        160 | memory/openDirEntry
>                   0 |                  0 |         64 | memory/RamCacheLRUEntry
>            56426496 |           56426304 |         96 | memory/RamCacheCLFUSEntry
>             9584640 |            6168000 |        960 | memory/netVCAllocator
>                   0 |                  0 |        128 | memory/udpReadContAllocator
>                   0 |                  0 |        128 | memory/udpWorkContinuationAllocator
>                   0 |                  0 |        160 | memory/udpPacketAllocator
>                   0 |                  0 |        304 | memory/socksAllocator
>              139264 |              68544 |       1088 | memory/sslNetVCAllocator
>                   0 |                  0 |        128 | memory/UDPIOEventAllocator
>              671744 |             115520 |         64 | memory/ioBlockAllocator
>            28305408 |           28301520 |         48 | memory/ioDataAllocator
>             2273280 |             406320 |        240 | memory/ioAllocator
>             1904640 |            1489920 |         80 | memory/mutexAllocator
>             1105920 |             188544 |         96 | memory/eventAllocator
>             2359296 |             129024 |       1024 | memory/ArenaBlock
> {code}
> this box will crash every 2days, so the memory waste may no that high
> 2, our production reverse system:
> physics memory: 16G
> RAM cache: 8G
> DISK: 1516 GB
> average_object_size 16384
> and it run for a much long time:
> {code}
>      allocated      |        in-use      | type size  |   free list name
> --------------------|--------------------|------------|----------------------------------
>           805306368 |                  0 |    2097152 | memory/ioBufAllocator[14]
>           738197504 |            8388608 |    1048576 | memory/ioBufAllocator[13]
>          1258291200 |           46661632 |     524288 | memory/ioBufAllocator[12]
>          1300234240 |          183762944 |     262144 | memory/ioBufAllocator[11]
>          1170210816 |          466223104 |     131072 | memory/ioBufAllocator[10]
>          1790967808 |         1223426048 |      65536 | memory/ioBufAllocator[9]
>          2970615808 |         2601418752 |      32768 | memory/ioBufAllocator[8]
>          2067791872 |         2044608512 |      16384 | memory/ioBufAllocator[7]
>          1169424384 |         1169121280 |       8192 | memory/ioBufAllocator[6]
>           711458816 |          710463488 |       4096 | memory/ioBufAllocator[5]
>             1572864 |                  0 |       2048 | memory/ioBufAllocator[4]
>              131072 |                  0 |       1024 | memory/ioBufAllocator[3]
>               65536 |                  0 |        512 | memory/ioBufAllocator[2]
>               32768 |                  0 |        256 | memory/ioBufAllocator[1]
>               16384 |                  0 |        128 | memory/ioBufAllocator[0]
>                   0 |                  0 |        576 | memory/ICPRequestCont_allocator
>                   0 |                  0 |        112 | memory/ICPPeerReadContAllocator
>                   0 |                  0 |        432 | memory/PeerReadDataAllocator
>                   0 |                  0 |         32 | memory/MIMEFieldSDKHandle
>                   0 |                  0 |        240 | memory/INKVConnAllocator
>                   0 |                  0 |         96 | memory/INKContAllocator
>                4096 |                  0 |         32 | memory/apiHookAllocator
>                   0 |                  0 |        288 | memory/FetchSMAllocator
>                   0 |                  0 |         80 | memory/prefetchLockHandlerAllocator
>                   0 |                  0 |        176 | memory/PrefetchBlasterAllocator
>                   0 |                  0 |         80 | memory/prefetchUrlBlaster
>                   0 |                  0 |         96 | memory/blasterUrlList
>                   0 |                  0 |         96 | memory/prefetchUrlEntryAllocator
>                   0 |                  0 |        128 | memory/socksProxyAllocator
>                   0 |                  0 |        144 | memory/ObjectReloadCont
>             1136640 |             125504 |        592 | memory/httpClientSessionAllocator
>              372736 |              27248 |        208 | memory/httpServerSessionAllocator
>            11317248 |              39296 |       9824 | memory/httpSMAllocator
>                   0 |                  0 |         32 | memory/CacheLookupHttpConfigAllocator
>                   0 |                  0 |       9888 | memory/httpUpdateSMAllocator
>                   0 |                  0 |        128 | memory/RemapPluginsAlloc
>                   0 |                  0 |        512 | memory/HCSMAllocator
>                   0 |                  0 |         48 | memory/VCEntryAllocator
>                   0 |                  0 |         96 | memory/HCEntryAllocator
>                   0 |                  0 |         64 | memory/HCHandlerAllocator
>                   0 |                  0 |         48 | memory/CongestRequestParamAllocator
>                   0 |                  0 |        128 | memory/CongestionDBContAllocator
>             6029312 |             643072 |       2048 | memory/hdrStrHeap
>             7077888 |             657408 |       2048 | memory/hdrHeap
>               26624 |                208 |        208 | memory/httpCacheAltAllocator
>                   0 |                  0 |        112 | memory/OneWayTunnelAllocator
>              630784 |               1232 |       1232 | memory/hostDBContAllocator
>              238560 |              17040 |      17040 | memory/dnsBufAllocator
>              161792 |                  0 |       1264 | memory/dnsEntryAllocator
>                   0 |                  0 |         16 | memory/DNSRequestDataAllocator
>                   0 |                  0 |       1072 | memory/SRVAllocator
>                   0 |                  0 |         48 | memory/ClusterVConnectionCache::Entry
>                   0 |                  0 |        560 | memory/cacheContAllocator
>                   0 |                  0 |        112 | memory/inControlAllocator
>                   0 |                  0 |        112 | memory/outControlAllocator
>                   0 |                  0 |         32 | memory/byteBankAllocator
>                   0 |                  0 |        576 | memory/clusterVCAllocator
>                   0 |                  0 |         48 | memory/evacuationKey
>                6144 |                  0 |         48 | memory/cacheRemoveCont
>            17006592 |           14972928 |         96 | memory/evacuationBlock
>             1777664 |             759872 |        992 | memory/cacheVConnection
>              307200 |             111520 |        160 | memory/openDirEntry
>                   0 |                  0 |         64 | memory/RamCacheLRUEntry
>           104275968 |          104274048 |         96 | memory/RamCacheCLFUSEntry
>             3440640 |            1819200 |        960 | memory/netVCAllocator
>                   0 |                  0 |        128 | memory/udpReadContAllocator
>                   0 |                  0 |        128 | memory/udpWorkContinuationAllocator
>                   0 |                  0 |        160 | memory/udpPacketAllocator
>                   0 |                  0 |        304 | memory/socksAllocator
>                   0 |                  0 |       1088 | memory/sslNetVCAllocator
>                   0 |                  0 |        128 | memory/UDPIOEventAllocator
>              237568 |              22528 |         64 | memory/ioBlockAllocator
>            26087424 |           26081904 |         48 | memory/ioDataAllocator
>              890880 |              84240 |        240 | memory/ioAllocator
>             1525760 |            1403440 |         80 | memory/mutexAllocator
>              565248 |             129696 |         96 | memory/eventAllocator
>             1179648 |               4096 |       1024 | memory/ArenaBlock
> {code}
> our team is working on the memory free issue, trying to improve the memory management. and this a big project, the more input|comment the better.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira