The core client measures the following aspects of each host:
- CPU performance: integer ops/sec, double-precision floating-point ops/sec, and memory bandwidth are measured separately. They are measured by a process executing at the same priority as BOINC applications, so the results will be affected by other processes. These measurements are taken when the client starts for the first time, and once every month thereafter.
- Number of CPUs: By default, the number of simultaneous slot directories will be set to this number unless otherwise indicated by user preferences.
- Vendor and model of CPU
- Disk space: free space and total space on the drive which BOINC is installed on. These numbers will be used to ensure BOINC does not use more space than set in the user preferences.
- Memory: total RAM, CPU cache, and swap space. These numbers can be used by the scheduling server to decide whether or not to assign work to a client. This also provides a means for assignment of differing work based on host abilities.
- Last IP address and count of consecutive same addresses.
- Number of RPCs, and time of last RPC.
- Fractions of time that core client runs on host, host is connected, and user is active. These are computed as exponentially-weighted averages; see the class TIME_STATS.
- Operating system name and version.
- Average up- and downstream network bandwidth. These are computed as exponentially-weighted averages; see the class NET_STATS.
These quantities are reported in every scheduling RPC, and their latest values are stored in the BOINC database.