At present, the class can be used to obtain the name of the host on which this process is running, the process id of this process, the amount of physical memory (total, used, & free) on this host, the amount of swap space (total, used, and free), the number of CPUs on this host, and a count of the number of seconds from January 1, 1970. Generally you should use the classes Time and MVTime if your primary interest is related to time and dates. If your interest is in timing, you would generally use class Timer, which can also report CPU times as well as "clock" times.
Determination of the number of CPUs, swap space, and physical memory is particularly OS dependent. In cases where this functionality has not yet been implemented, the memory and swap functions will return -1 and the CPU function will return 0.
cout << "I am process #" << HostInfo::processID() << " running on host " << HostInfo::hostName() << ", which has " << HostInfor::numCPUs( ) << " CPUs." << endl; cout << "This host has " << HostInfo::memoryTotal( ) << "K of memory [ " << HostInfo::memoryUsed( ) << " used, " << HostInfo::memoryFree( ) << " free ]." << endl; cout << "This host has " << HostInfo::swapTotal( ) << "K of swap space [ " << HostInfo::swapUsed( ) << " used, " << HostInfo::swapFree( ) << " free ]." << endl; Double now = HostInfo::secondsFrom1970(); doSomething(); cout << "Function doSomething() took " << HostInfo::secondsFrom1970() - now << " seconds to execute." << endl;
Returns True for big endian machines (like SUN). Returns False for little endian machines (like PC).
Returns 0 if unable to determine the number of CPUs.
Returns -1 if unable to determine memory info.
Returns -1 if unable to determine swap info.