aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-05-13 10:42:20 +0200
committerTor Egge <Tor.Egge@online.no>2022-05-13 10:42:20 +0200
commitf737e852f8ba0f7e5b41cbce12ed8b77324526e0 (patch)
tree6fa32b458d9873d1a9dcd1d58454eb4c13d3980a
parent93879594eced9cee09557fdd0017cb9f62623446 (diff)
Use vespalib::ResourceLimits in proton::HwInfoSampler.
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/hw_info_sampler.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/common/hw_info_sampler.cpp b/searchcore/src/vespa/searchcore/proton/common/hw_info_sampler.cpp
index 6d69c884c90..ea2d2de8b41 100644
--- a/searchcore/src/vespa/searchcore/proton/common/hw_info_sampler.cpp
+++ b/searchcore/src/vespa/searchcore/proton/common/hw_info_sampler.cpp
@@ -7,6 +7,7 @@
#include <vespa/searchcore/config/config-hwinfo.h>
#include <vespa/vespalib/io/fileutil.h>
#include <vespa/vespalib/util/time.h>
+#include <vespa/vespalib/util/resource_limits.h>
#include <vespa/vespalib/util/size_literals.h>
#include <vespa/vespalib/util/alloc.h>
#include <filesystem>
@@ -40,21 +41,21 @@ sampleDiskSizeBytes(const std::string &pathStr, const HwInfoSampler::Config &cfg
}
uint64_t
-sampleMemorySizeBytes(const HwInfoSampler::Config &cfg)
+sampleMemorySizeBytes(const HwInfoSampler::Config &cfg, const vespalib::ResourceLimits& resource_limits)
{
if (cfg.memorySizeBytes != 0) {
return cfg.memorySizeBytes;
}
- return sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE);
+ return resource_limits.memory();
}
uint32_t
-sampleCpuCores(const HwInfoSampler::Config &cfg)
+sampleCpuCores(const HwInfoSampler::Config &cfg, const vespalib::ResourceLimits& resource_limits)
{
if (cfg.cpuCores != 0) {
return cfg.cpuCores;
}
- return std::thread::hardware_concurrency();
+ return resource_limits.cpu();
}
std::unique_ptr<HwinfoConfig>
@@ -119,11 +120,12 @@ HwInfoSampler::HwInfoSampler(const vespalib::string &path,
_diskWriteSpeed(0.0)
{
setDiskWriteSpeed(path, config);
+ auto resource_limits = vespalib::ResourceLimits::create();
setup(HwInfo::Disk(sampleDiskSizeBytes(path, config),
(_diskWriteSpeed < config.slowWriteSpeedLimit),
config.diskShared),
- HwInfo::Memory(sampleMemorySizeBytes(config)),
- HwInfo::Cpu(sampleCpuCores(config)));
+ HwInfo::Memory(sampleMemorySizeBytes(config, resource_limits)),
+ HwInfo::Cpu(sampleCpuCores(config, resource_limits)));
}
HwInfoSampler::~HwInfoSampler() = default;