1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
#ifndef MSIOSYSTEM_H
#define MSIOSYSTEM_H
#include <casacore/casa/OS/HostInfo.h>
#include <stdio.h>
#include <unistd.h>
#include <sched.h>
class System
{
public:
static long TotalMemory()
{
return casacore::HostInfo::memoryTotal()*1024;
}
static unsigned ProcessorCount()
{
#ifdef __APPLE__
return sysconf(_SC_NPROCESSORS_ONLN);
#else
cpu_set_t cs;
CPU_ZERO(&cs);
sched_getaffinity(0, sizeof cs , &cs);
int count = 0;
for (int i = 0; i < CPU_SETSIZE; i++)
{
if (CPU_ISSET(i, &cs))
count++;
}
return count;
#endif
}
};
#endif //MSIOSYSTEM_H
|