![]() |
MySQL 9.3.0
Source Code Documentation
|
Functions to retrieve total physical memory and total number of logical CPUs available to the server by reading the limits set by cgroups. More...
#include <cstdint>
#include <fstream>
#include <optional>
#include <string_view>
#include "my_system_api.h"
Namespaces | |
namespace | anonymous_namespace{my_system_api_cgroup.cc} |
Functions | |
template<typename... Args> | |
bool | anonymous_namespace{my_system_api_cgroup.cc}::read_line_from_file (const std::string_view &path, Args &...args) |
Utility: Read the first line from the file specified in path and copy its contents into the arguments passed. More... | |
std::optional< uint32_t > | anonymous_namespace{my_system_api_cgroup.cc}::cgroup_v1_cpu () |
Read CPU limits as if it were set by cgroup v1. More... | |
std::optional< uint64_t > | anonymous_namespace{my_system_api_cgroup.cc}::cgroup_v1_memory () |
Read memory limits as if it were set by cgroup v1. More... | |
std::optional< uint32_t > | anonymous_namespace{my_system_api_cgroup.cc}::cgroup_v2_cpu () |
Read CPU limits as if it were set by cgroup v2. More... | |
std::optional< uint64_t > | anonymous_namespace{my_system_api_cgroup.cc}::cgroup_v2_memory () |
Read Memory limits as if it were set by cgroup v2. More... | |
uint64_t | my_cgroup_mem_limit () |
Read the memory limit set by the container. More... | |
uint32_t | my_cgroup_vcpu_limit () |
Read the CPU limit set by the container. More... | |
Variables | |
constexpr std::string_view | anonymous_namespace{my_system_api_cgroup.cc}::quota_path {"/sys/fs/cgroup/cpu/cpu.cfs_quota_us"} |
cgroup v1 path to file containing CPU quota More... | |
constexpr std::string_view | anonymous_namespace{my_system_api_cgroup.cc}::period_path {"/sys/fs/cgroup/cpu/cpu.cfs_period_us"} |
cgroup v1 path to file containing CPU period More... | |
constexpr std::string_view | anonymous_namespace{my_system_api_cgroup.cc}::mem_path_v1 |
cgroup v1 path to file containing Memory limits More... | |
constexpr std::string_view | anonymous_namespace{my_system_api_cgroup.cc}::cpu_path_v2 {"/sys/fs/cgroup/cpu.max"} |
cgroup v2 path to file containing CPU limts More... | |
constexpr std::string_view | anonymous_namespace{my_system_api_cgroup.cc}::mem_path_v2 {"/sys/fs/cgroup/memory.max"} |
cgroup v2 path to file containing Memory limits More... | |
Functions to retrieve total physical memory and total number of logical CPUs available to the server by reading the limits set by cgroups.
uint64_t my_cgroup_mem_limit | ( | ) |
Read the memory limit set by the container.
Try cgroup v2, and then cgroup v1
uint32_t my_cgroup_vcpu_limit | ( | ) |
Read the CPU limit set by the container.
Try cgroup v2, and then cgroup v1