Nmap Development mailing list archives
Re: nmap massive memory usage
From: majek04 <majek04+nmap-dev () gmail com>
Date: Tue, 4 Dec 2007 17:32:02 +0100
On 12/4/07, John Richard Moser <nigelenki () comcast net> wrote:
In scanning two /24 ranges for full UDP sweeps on all 0-65535 ports, I found nmap (after fininshing the first group) held 600MB+ of RSS on 64-bit Linux. Command line:
There is one instance of port_map array allocated for every scanned protocol. So for '-sU -p0-65535' you have 65k*u16 = 128KBytes in just port_map. (port_map is static variable on PortList class see portlist.cc:623) For every host one PortList instance is created. On PortList instance there is port_list array allocated for every protocol. The memory used depends on the number of ports scanned port_list size is sometning like this sizeof(Port*) * (number_ports_scanned + 1) It's 65k*8B = 512KBytes per host in your case. Next, for every scanned port the Port() instance is created. Every Port instance have (fix me if I miscounted): - u16 - u8 - int * 8 - ScriptResults (it's std::vector) - long - ptr * 10 Sizeof(Port) on my 32-bit machine is 104 bytes. Roughly in your case: 128K + // port_map ((number_of_ports * sizeof(Port*)) +// PortList:port_list (sizeof(Port) * number_of_ports)) //PortList:port_list[port_number] -> Port() * number_of_hosts_in_hostgroup For hostgroup of about 50 it's 350MBytes on 32bit machine. Am I correct? Marek Majkowski _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- nmap massive memory usage John Richard Moser (Dec 04)
- Re: nmap massive memory usage majek04 (Dec 04)
- Re: nmap massive memory usage John Richard Moser (Dec 04)
- Re: nmap massive memory usage majek04 (Dec 04)