Hi,
We are testing IBR-DTN in a vehicular testbed with On Board Units of limited resources and we have seen that IBR-DTN uses little CPU (around 2/3%) but a lot of virtual memory (from 84% to 140%, for instance). An example:
Mem: 45096K used, 16084K free, 0K shrd, 412K buff, 19996K cached CPU: 2% usr 4% sys 0% nic 92% idle 0% io 0% irq 0% sirq Load average: 0.15 0.12 0.13 2/87 21145 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1090 1 root S 61148 107% 2% dtnd -c /etc/ibrdtnd_rsu.conf
We have seen IBR-DTN (dtnd) use around 59MB of RAM from a total of 128MB, which is a lot for our devices. We are trying to mitigate this problem.
Do you have any idea of what might be causing IBR-DTN to use so much memory and if we can do something to reduce this usage, or is this just the way it goes and there's little or nothing we can do about it?
Thank you,
Romeu
A correction: the 59MB I mentioned before are virtual memory and not RAM.
On Wed, May 28, 2014 at 2:47 PM, Romeu Monteiro romeumonteiro7@gmail.comwrote:
Hi,
We are testing IBR-DTN in a vehicular testbed with On Board Units of limited resources and we have seen that IBR-DTN uses little CPU (around 2/3%) but a lot of virtual memory (from 84% to 140%, for instance). An example:
Mem: 45096K used, 16084K free, 0K shrd, 412K buff, 19996K cached CPU: 2% usr 4% sys 0% nic 92% idle 0% io 0% irq 0% sirq Load average: 0.15 0.12 0.13 2/87 21145 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1090 1 root S 61148 107% 2% dtnd -c /etc/ibrdtnd_rsu.conf
We have seen IBR-DTN (dtnd) use around 59MB of RAM from a total of 128MB, which is a lot for our devices. We are trying to mitigate this problem.
Do you have any idea of what might be causing IBR-DTN to use so much memory and if we can do something to reduce this usage, or is this just the way it goes and there's little or nothing we can do about it?
Thank you,
Romeu
Hello Romeu,
virtual memory is not the real used memory of the system. You should better consider the RSS of the application. Here is an example of an instance running on OpenWrt.
~# cat /proc/5207/status Name: dtnd State: S (sleeping) Tgid: 5207 Pid: 5207 PPid: 5164 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 32 Groups: VmPeak: 40684 kB VmSize: 40684 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 3720 kB VmRSS: 3720 kB VmData: 33928 kB VmStk: 136 kB VmExe: 1528 kB VmLib: 4680 kB VmPTE: 48 kB VmSwap: 0 kB Threads: 17 SigQ: 0/988 SigPnd: 00000000000000000000000000000000 ShdPnd: 00000000000000000000000000000000 SigBlk: 00000000000000000000000000001000 SigIgn: 00000000000000000000000000000000 SigCgt: 0000000000000000000000018001c007 CapInh: 0000000000000000 CapPrm: ffffffffffffffff CapEff: ffffffffffffffff CapBnd: ffffffffffffffff Cpus_allowed: 1 Cpus_allowed_list: 0 voluntary_ctxt_switches: 1 nonvoluntary_ctxt_switches: 30
The VmRSS is below 4 MB in this case. If you own set-up memory usage increases too much, you can consider to disable features with a high memory usage or even disable them during compilation.
At this point, I like to mention that DTN agents need to hold a lot of state to forward bundles correctly. Additional libraries and complex routing protocols increase the need. Thus, it depends on your specific scenario if you can deal with low memory devices or not.
Kind regards, Johannes
Am 28.05.2014 15:47, schrieb Romeu Monteiro:
We are testing IBR-DTN in a vehicular testbed with On Board Units of limited resources and we have seen that IBR-DTN uses little CPU (around 2/3%) but a lot of virtual memory (from 84% to 140%, for instance). An example:
Mem: 45096K used, 16084K free, 0K shrd, 412K buff, 19996K cached CPU: 2% usr 4% sys 0% nic 92% idle 0% io 0% irq 0% sirq Load average: 0.15 0.12 0.13 2/87 21145 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1090 1 root S 61148 107% 2% dtnd -c /etc/ibrdtnd_rsu.conf
We have seen IBR-DTN (dtnd) use around 59MB of RAM from a total of 128MB, which is a lot for our devices. We are trying to mitigate this problem.
Do you have any idea of what might be causing IBR-DTN to use so much memory and if we can do something to reduce this usage, or is this just the way it goes and there's little or nothing we can do about it?
Thank you very much, Johannes! That was just what we needed to know.
Romeu
On Wed, May 28, 2014 at 4:23 PM, Johannes Morgenroth < morgenroth@ibr.cs.tu-bs.de> wrote:
Hello Romeu,
virtual memory is not the real used memory of the system. You should better consider the RSS of the application. Here is an example of an instance running on OpenWrt.
~# cat /proc/5207/status Name: dtnd State: S (sleeping) Tgid: 5207 Pid: 5207 PPid: 5164 TracerPid: 0 Uid: 0 0 0 0 Gid: 0 0 0 0 FDSize: 32 Groups: VmPeak: 40684 kB VmSize: 40684 kB VmLck: 0 kB VmPin: 0 kB VmHWM: 3720 kB VmRSS: 3720 kB VmData: 33928 kB VmStk: 136 kB VmExe: 1528 kB VmLib: 4680 kB VmPTE: 48 kB VmSwap: 0 kB Threads: 17 SigQ: 0/988 SigPnd: 00000000000000000000000000000000 ShdPnd: 00000000000000000000000000000000 SigBlk: 00000000000000000000000000001000 SigIgn: 00000000000000000000000000000000 SigCgt: 0000000000000000000000018001c007 CapInh: 0000000000000000 CapPrm: ffffffffffffffff CapEff: ffffffffffffffff CapBnd: ffffffffffffffff Cpus_allowed: 1 Cpus_allowed_list: 0 voluntary_ctxt_switches: 1 nonvoluntary_ctxt_switches: 30
The VmRSS is below 4 MB in this case. If you own set-up memory usage increases too much, you can consider to disable features with a high memory usage or even disable them during compilation.
At this point, I like to mention that DTN agents need to hold a lot of state to forward bundles correctly. Additional libraries and complex routing protocols increase the need. Thus, it depends on your specific scenario if you can deal with low memory devices or not.
Kind regards, Johannes
Am 28.05.2014 15:47, schrieb Romeu Monteiro:
We are testing IBR-DTN in a vehicular testbed with On Board Units of limited resources and we have seen that IBR-DTN uses little CPU (around 2/3%) but a lot of virtual memory (from 84% to 140%, for instance). An example:
Mem: 45096K used, 16084K free, 0K shrd, 412K buff, 19996K cached CPU: 2% usr 4% sys 0% nic 92% idle 0% io 0% irq 0% sirq Load average: 0.15 0.12 0.13 2/87 21145 PID PPID USER STAT VSZ %VSZ %CPU COMMAND 1090 1 root S 61148 107% 2% dtnd -c /etc/ibrdtnd_rsu.conf
We have seen IBR-DTN (dtnd) use around 59MB of RAM from a total of 128MB, which is a lot for our devices. We are trying to mitigate this problem.
Do you have any idea of what might be causing IBR-DTN to use so much memory and if we can do something to reduce this usage, or is this just the way it goes and there's little or nothing we can do about it?
-- !! This message is brought to you via the `ibr-dtn' mailing list. !! Please do not reply to this message to unsubscribe. To unsubscribe or adjust !! your settings, send a mail message to ibr-dtn-request@ibr.cs.tu-bs.de !! or look at https://mail.ibr.cs.tu-bs.de/listinfo/ibr-dtn.
participants (2)
-
Johannes Morgenroth
-
Romeu Monteiro