qrm

package
v0.5.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 20, 2024 License: Apache-2.0 Imports: 6 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CPUDynamicPolicyOptions added in v0.3.0

type CPUDynamicPolicyOptions struct {
	EnableCPUAdvisor              bool
	EnableCPUPressureEviction     bool
	LoadPressureEvictionSkipPools []string
	EnableSyncingCPUIdle          bool
	EnableCPUIdle                 bool
	CPUNUMAHintPreferPolicy       string
	CPUNUMAHintPreferLowThreshold float64
}

type CPUNativePolicyOptions added in v0.3.0

type CPUNativePolicyOptions struct {
	EnableFullPhysicalCPUsOnly bool
	CPUAllocationOption        string
}

type CPUOptions

type CPUOptions struct {
	PolicyName             string
	ReservedCPUCores       int
	SkipCPUStateCorruption bool

	CPUDynamicPolicyOptions
	CPUNativePolicyOptions
}

func NewCPUOptions

func NewCPUOptions() *CPUOptions

func (*CPUOptions) AddFlags

func (o *CPUOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*CPUOptions) ApplyTo

func (o *CPUOptions) ApplyTo(conf *qrmconfig.CPUQRMPluginConfig) error

type FragMemOptions added in v0.5.12

type FragMemOptions struct {
	EnableSettingFragMem bool
	// SetMemFragScoreAsync sets the threashold of frag score for async memory compaction.
	// The async compaction behavior will be triggered while exceeding this score.
	SetMemFragScoreAsync int
}

type GenericQRMPluginOptions

type GenericQRMPluginOptions struct {
	QRMPluginSocketDirs      []string
	StateFileDirectory       string
	ExtraStateFileAbsPath    string
	PodDebugAnnoKeys         []string
	UseKubeletReservedConfig bool
	PodAnnotationKeptKeys    []string
	PodLabelKeptKeys         []string
}

func NewGenericQRMPluginOptions

func NewGenericQRMPluginOptions() *GenericQRMPluginOptions

func (*GenericQRMPluginOptions) AddFlags

func (o *GenericQRMPluginOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*GenericQRMPluginOptions) ApplyTo

type IOCostOption added in v0.4.1

type IOCostOption struct {
	EnableSettingIOCost   bool
	CheckWBTDisabled      bool
	IOCostQoSConfigFile   string
	IOCostModelConfigFile string
}

type IOOptions added in v0.4.0

type IOOptions struct {
	PolicyName string

	WritebackThrottlingOption // option for writeback throttling, it determin the recycling speed of dirty memory.
	// TO-DO
	// DirtyThrottlingOption // option for dirty throttling, it determin the global watermark of dirty memory.
	IOCostOption
	IOWeightOption
}

func NewIOOptions added in v0.4.0

func NewIOOptions() *IOOptions

func (*IOOptions) AddFlags added in v0.4.0

func (o *IOOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*IOOptions) ApplyTo added in v0.4.0

func (o *IOOptions) ApplyTo(conf *qrmconfig.IOQRMPluginConfig) error

type IOWeightOption added in v0.4.1

type IOWeightOption struct {
	EnableSettingIOWeight         bool
	IOWeightQoSLevelConfigFile    string
	IOWeightCgroupLevelConfigFile string
}

type LogCacheOptions added in v0.5.11

type LogCacheOptions struct {
	// EnableEvictingLogCache is used to enable evicting log cache by advise kernel to throw page cache for log files
	EnableEvictingLogCache bool
	// If the change value of the page cache between two operations exceeds this threshold, then increase the frequency of subsequent eviction operations.
	HighThreshold uint64
	// If the change value of the page cache between two operations is lower than this value, then slow down the frequency of subsequent eviction operations.
	LowThreshold uint64
	// The minimum time interval between two operations
	MinInterval time.Duration
	// The maximum time interval between two operations
	MaxInterval time.Duration
	// The file directory for evicting the log cache
	PathList []string
	// Keywords for recognizing log files
	FileFilters []string
}

type MemoryOptions

type MemoryOptions struct {
	PolicyName                                    string
	ReservedMemoryGB                              uint64
	SkipMemoryStateCorruption                     bool
	EnableSettingMemoryMigrate                    bool
	EnableMemoryAdvisor                           bool
	ExtraControlKnobConfigFile                    string
	EnableOOMPriority                             bool
	OOMPriorityPinnedMapAbsPath                   string
	EnableNonBindingShareCoresMemoryResourceCheck bool

	SockMemOptions
	LogCacheOptions
	FragMemOptions
}

func NewMemoryOptions

func NewMemoryOptions() *MemoryOptions

func (*MemoryOptions) AddFlags

func (o *MemoryOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*MemoryOptions) ApplyTo

type NetClassOptions added in v0.2.0

type NetClassOptions struct {
	// ReclaimedCores is the network class id for reclaimed_cores
	ReclaimedCores uint32
	// SharedCores is the network class id for shared_cores
	SharedCores uint32
	// DedicatedCores is the network class id for dedicated_cores
	DedicatedCores uint32
	// SystemCores is the network class id for system_cores
	SystemCores uint32
}

type NetworkOptions added in v0.2.0

type NetworkOptions struct {
	PolicyName                                      string
	NetClass                                        NetClassOptions
	ReservedBandwidth                               uint32
	EgressCapacityRate                              float32
	IngressCapacityRate                             float32
	SkipNetworkStateCorruption                      bool
	PodLevelNetClassAnnoKey                         string
	PodLevelNetAttributesAnnoKeys                   string
	IPv4ResourceAllocationAnnotationKey             string
	IPv6ResourceAllocationAnnotationKey             string
	NetNSPathResourceAllocationAnnotationKey        string
	NetInterfaceNameResourceAllocationAnnotationKey string
	NetClassIDResourceAllocationAnnotationKey       string
	NetBandwidthResourceAllocationAnnotationKey     string
}

func NewNetworkOptions added in v0.2.0

func NewNetworkOptions() *NetworkOptions

func (*NetworkOptions) AddFlags added in v0.2.0

func (o *NetworkOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*NetworkOptions) ApplyTo added in v0.2.0

type QRMPluginsOptions

type QRMPluginsOptions struct {
	CPUOptions     *CPUOptions
	MemoryOptions  *MemoryOptions
	NetworkOptions *NetworkOptions
	IOOptions      *IOOptions
}

func NewQRMPluginsOptions

func NewQRMPluginsOptions() *QRMPluginsOptions

func (*QRMPluginsOptions) AddFlags

func (o *QRMPluginsOptions) AddFlags(fss *cliflag.NamedFlagSets)

func (*QRMPluginsOptions) ApplyTo

type SockMemOptions added in v0.4.0

type SockMemOptions struct {
	EnableSettingSockMem bool
	// SetGlobalTCPMemRatio limits global max tcp memory usage.
	SetGlobalTCPMemRatio int
	// SetCgroupTCPMemLimitRatio limit cgroup max tcp memory usage.
	SetCgroupTCPMemRatio int
}

type WritebackThrottlingOption added in v0.4.1

type WritebackThrottlingOption struct {
	EnableSettingWBT bool
	WBTValueHDD      int
	WBTValueSSD      int
	WBTValueNVME     int
	WBTValueVIRTIO   int
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL