< prev index next >

src/hotspot/os/linux/osContainer_linux.hpp

Print this page
@  rev 54202 : 8217338: [Containers] Improve systemd slice memory limit support
|  Summary: Use hierachical memory limit in addition to memory_limits_in_bytes
~  Reviewed-by: duke


  25 #ifndef OS_LINUX_OSCONTAINER_LINUX_HPP
  26 #define OS_LINUX_OSCONTAINER_LINUX_HPP
  27 
  28 #include "utilities/globalDefinitions.hpp"
  29 #include "utilities/macros.hpp"
  30 #include "memory/allocation.hpp"
  31 
  32 #define OSCONTAINER_ERROR (-2)
  33 
  34 class OSContainer: AllStatic {
  35 
  36  private:
  37   static bool   _is_initialized;
  38   static bool   _is_containerized;
  39 
  40  public:
  41   static void init();
  42   static inline bool is_containerized();
  43   static const char * container_type();
  44 

  45   static jlong memory_limit_in_bytes();
  46   static jlong memory_and_swap_limit_in_bytes();
  47   static jlong memory_soft_limit_in_bytes();
  48   static jlong memory_usage_in_bytes();
  49   static jlong memory_max_usage_in_bytes();
  50 
  51   static int active_processor_count();
  52 
  53   static char * cpu_cpuset_cpus();
  54   static char * cpu_cpuset_memory_nodes();
  55 
  56   static int cpu_quota();
  57   static int cpu_period();
  58 
  59   static int cpu_shares();
  60 
  61 };
  62 
  63 inline bool OSContainer::is_containerized() {
  64   assert(_is_initialized, "OSContainer not initialized");


  25 #ifndef OS_LINUX_OSCONTAINER_LINUX_HPP
  26 #define OS_LINUX_OSCONTAINER_LINUX_HPP
  27 
  28 #include "utilities/globalDefinitions.hpp"
  29 #include "utilities/macros.hpp"
  30 #include "memory/allocation.hpp"
  31 
  32 #define OSCONTAINER_ERROR (-2)
  33 
  34 class OSContainer: AllStatic {
  35 
  36  private:
  37   static bool   _is_initialized;
  38   static bool   _is_containerized;
  39 
  40  public:
  41   static void init();
  42   static inline bool is_containerized();
  43   static const char * container_type();
  44 
  45   static jlong uses_mem_hierarchy();
  46   static jlong memory_limit_in_bytes();
  47   static jlong memory_and_swap_limit_in_bytes();
  48   static jlong memory_soft_limit_in_bytes();
  49   static jlong memory_usage_in_bytes();
  50   static jlong memory_max_usage_in_bytes();
  51 
  52   static int active_processor_count();
  53 
  54   static char * cpu_cpuset_cpus();
  55   static char * cpu_cpuset_memory_nodes();
  56 
  57   static int cpu_quota();
  58   static int cpu_period();
  59 
  60   static int cpu_shares();
  61 
  62 };
  63 
  64 inline bool OSContainer::is_containerized() {
  65   assert(_is_initialized, "OSContainer not initialized");
< prev index next >