[Nfd-dev] [EXT] ndnd memory increasing

Junxiao Shi shijunxiao at arizona.edu
Tue Jun 17 19:47:21 PDT 2025


Hi Hao

This suggests a memory leak somewhere.
You can diagnose a memory leak with *pprof* tool.

See the following tutorial on how to use pprof:
Debug Golang Memory Leaks with Pprof - by Team CodeReliant
https://www.codereliant.io/p/memory-leaks-with-pprof

Once you find the bug, please open an issue on ndnd GitHub repository.

Yours, Junxiao

On Tue, Jun 17, 2025 at 22:39 郝广宇 <haoguangyu at chorustek.com> wrote:

>
> *External Email*
> ------------------------------
> I’m using ndnd with the sample configuration file, and I’ve noticed that
> after running for a while, the memory usage keeps increasing.
>
> Do you know what might be causing this? Thanks
>
> config
>
> # YaNFD Sample Configuration
>
> # This file is autogenerated by cmd/confgen/main.go
>
>
> core:
>
>   # Logging level
>
>   log_level: INFO
>
>   # Output log to file
>
>   log_file: ""
>
>
> faces:
>
>   # Size of queues in the face system
>
>   queue_size: 1024
>
>   # Enables or disables congestion marking
>
>   congestion_marking: true
>
>   # If true, face threads will be locked to processor cores
>
>   lock_threads_to_cores: false
>
>
>   udp:
>
>     # Whether to enable unicast UDP listener
>
>     enabled_unicast: true
>
>     # Whether to enable multicast UDP listener
>
>     enabled_multicast: true
>
>     # Port used for unicast UDP faces
>
>     port_unicast: 6363
>
>     # Port used for multicast UDP faces
>
>     port_multicast: 56363
>
>     # IPv4 address used for multicast UDP faces
>
>     multicast_address_ipv4: 224.0.23.170
> <http://224.0.23.170>
>
>     # IPv6 address used for multicast UDP faces
>
>     multicast_address_ipv6: ff02::114
>
>     # Lifetime of on-demand faces (in seconds)
>
>     lifetime: 600
>
>     # Default MTU for UDP faces
>
>     default_mtu: 1420
>
>
>   tcp:
>
>     # Whether to enable TCP listener
>
>     enabled: true
>
>     # Port used for unicast TCP faces
>
>     port_unicast: 6363
>
>     # Lifetime of on-demand faces (in seconds)
>
>     lifetime: 600
>
>     # Reconnect interval for permanent faces (in seconds)
>
>     reconnect_interval: 10
>
>
>   unix:
>
>     # Whether to enable Unix stream transports
>
>     enabled: true
>
>     # Location of the socket file
>
>     # On Windows, uses ${TEMP}\\nfd\\nfd.sock
> <http://\\nfd\\nfd.sock>
>
>     # On Mac, uses /var/run/nfd/nfd.sock
>
>     # Uncomment the line below to manually set socket path
>
>     # socket_path: /run/nfd/nfd.sock
>
>
>   websocket:
>
>     # Whether to enable WebSocket listener
>
>     enabled: true
>
>     # Bind address for WebSocket listener
>
>     bind: ""
>
>     # Port for WebSocket listener
>
>     port: 9696
>
>     # Whether to enable TLS
>
>     tls_enabled: false
>
>     # TLS certificate path (relative to the config file)
>
>     tls_cert: ""
>
>     # TLS private key (relative to the config file)
>
>     tls_key: ""
>
>
>   http3:
>
>     # Whether to enable HTTP/3 WebTransport listener
>
>     enabled: false
>
>     # Bind address for HTTP/3 WebTransport listener
>
>     bind: ""
>
>     # Port for HTTP/3 WebTransport listener
>
>     port: 443
>
>     # TLS certificate path (relative to the config file)
>
>     tls_cert: ""
>
>     # TLS private key (relative to the config file)
>
>     tls_key: ""
>
>
> fw:
>
>   # Number of forwarding threads
>
>   threads: 16
>
>   # Size of queues in the forwarding system
>
>   queue_size: 1024
>
>   # If true, face threads will be locked to processor cores
>
>   lock_threads_to_cores: false
>
>
> mgmt:
>
>   # Controls whether management over /localhop is enabled or disabled
>
>   allow_localhop: false
>
>
> tables:
>
>
>   content_store:
>
>     # Capacity of each forwarding thread's content store (in number of
> Data packets). Note that the
>
>     # total capacity of all content stores in the forwarder will be the
> number of threads
>
>     # multiplied by this value. This is the startup configuration value
> and can be changed at
>
>     # runtime via management.
>
>     capacity: 1024
>
>     # Whether contents will be admitted to the Content Store.
>
>     admit: true
>
>     # Whether contents will be served from the Content Store.
>
>     serve: true
>
>     # Cache replacement policy to use in each thread's content store.
>
>     replacement_policy: lru
>
>
>   dead_nonce_list:
>
>     # Lifetime of entries in the Dead Nonce List (milliseconds)
>
>     lifetime: 6000
>
>
>   network_region:
>
>     # List of prefixes that the forwarder is in the producer region for
>
>     regions: []
>
>
>   rib:
>
>     # Enables or disables readvertising to the routing daemon
>
>     readvertise_nlsr: true
>
>
>   fib:
>
>     # Selects the algorithm used to implement the FIB
>
>     # Allowed options: nametree, hashtable
>
>     algorithm: nametree
>
>
>     hashtable:
>
>       # Specifies the virtual node depth. Must be a positive number.
>
>       m: 5
>
> General NFD status:
>
>                  version=v1.5.2
>
>                startTime=2025-06-13 23:18:14.669 +0800 CST
>
>              currentTime=2025-06-18 10:37:41.563 +0800 CST
>
>                   uptime=107h19m26.894s
>
>         nNameTreeEntries=0
>
>              nFibEntries=26
>
>              nPitEntries=1
>
>     nMeasurementsEntries=0
>
>               nCsEntries=16384
>
>             nInInterests=373947
>
>            nOutInterests=334162
>
>                  nInData=1378299
>
>                 nOutData=371297
>
>                 nInNacks=0
>
>                nOutNacks=0
>
>      nSatisfiedInterests=371297
>
>    nUnsatisfiedInterests=2486
> _______________________________________________
> Nfd-dev mailing list
> Nfd-dev at lists.cs.ucla.edu
>
> https://www.lists.cs.ucla.edu/mailman/listinfo/nfd-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/nfd-dev/attachments/20250617/d1f0991a/attachment.htm>


More information about the Nfd-dev mailing list