-Old Version
Resourced Configurations
========================
-File Names
-==========
-1. limiter.conf : configurations to limit resources
-2. optimizer.conf : configurations to optimize resources
-3. monitor.conf : configurations to monitor resources
-4. process.conf : configurations to manage process
-
-Sections
-========
-Section name should be located between '[' and ']'.
-The order between sections does not matter and
-the order of configurations within a section is also not important.
+Index
+=====
+1. limiter.conf : configurations to limit resources
+2. optimizer.conf : configurations to optimize resources
+3. monitor.conf : configurations to monitor resources
+4. process.conf : configurations to manage process
+5. limiter.conf.d/*.conf : configurations to limit resources, for each app
+6. optimizer.conf.d/*.conf : configurations to optimize resources, for each app
+7. process.conf.d/*.conf : configurations to manage process, for each app
+8. vip-process.d/*.conf : configurations to manage vip-process, for each app
+
+File Format
+===========
+Config file consists of two parts: section names and key-value pairs.
+Section name should be located between '[' and ']'. (ex: [MemoryLevelThreshold])
+The range of a section is: From the first appearance of section name to the EOF or the line before the next section starts
+Example: [MemoryThrottling]
+ ThrottlingLimit=80%
+Lines beginning with '#' are ignored.
+
+Value Format
+============
+Value format will be described as regular expression form.
+Names enclosed with clamps(<...>) can be replaced with some value which described inside clamps.
1. limiter.conf
===============
-1.1 VIP_PROCESS
-===============
-Format: PREDEFINE=<process name>
-Comment: add vip processes in this section.
- these processes will be located in the VIP cgroup (maximum cpu and memory) and
- they won't be killed by a low memory killer(LMK).
-ex)PREDEFINE=app1
- PREDEFINE=app2
-
-1.2 OOM_FIXED_APPS
-==================
-Format: APP NAME=<SCORE>
-Comment: add app names with their oom_score_adjs in this section.
- do not set the score with the predefined scores described at the procfs.h.
- the range of SCORE should be OOMADJ_SERVICE_MIN < SCORE < OOMADJ_BACKGRD_LOCKED
-ex)app1=323
- app2=415
-
-1.3 Memory
-==========
-Format: ThresholdDedup=<Threshold>
-Comment: specify threshold(MB) of dedup level
-ex)ThresholdDedup=30
-
-Format: ThresholdSwap=<Threshold>
-Comment: specify threshold(MB) of swap level
-ex)ThresholdSwap=20
-
-Format: ThresholdLow=<Threshold>
-Comment: specify threshold(MB) of low level
-ex)ThresholdLow=15
-
-Format: ThresholdMedium=<Threshold>
-Comment: specify threshold(MB) of medium level
-ex)ThresholdMedium=10
-
-Format: ThresholdLeave=<Threshold leave>
-Comment: specify threshold leave of medium level
-ex)ThresholdLeave=20
-
-Format: ThresholdRatioDedup=<Threshold ratio>
-Comment: specify threshold ratio(%) of dedup level
-ex)ThresholdRatioDedup=30
-
-Format: ThresholdRatioSwap=<Threshold ratio>
-Comment: specify threshold ratio(%) of swap level
-ex)ThresholdRatioSwap=25
-
-Format: ThresholdRatioLow=<Threshold ratio>
-Comment: specify threshold ratio(%) of low level
-ex)ThresholdRatioLow=20
-
-Format: ThresholdRatioMedium=<Threshold ratio>
-Comment: specify threshold ratio(%) of medium level
-ex)ThresholdRatioMedium=15
-
-Format: ThresholdRatioLeave=<Threshold leave ratio>
-Comment: specify threshold leave ratio(%) of medium level
-ex)ThresholdRatioLeave=30
-
-Format: ForegroundRatio=<ratio>
-Comment: specify memory limit ratio(0.0<= ratio <=1.0) of foreground apps(High cgroup)
-ex)ForegroundRatio=0.3
-
-Format: BackgroundRatio=<ratio>
-Comment: specify memory limit ratio(0.0<= ratio <=1.0) of background apps(Medium cgroup).
- Unset this option if it causes any unexepcted issue (e.g. jerky animation).
-ex)BackgroundRatio=0.2
-
-Format: LowRatio=<ratio>
-Comment: specify memory limit ratio(0.0<= ratio <=1.0) of old background apps(Lowest cgroup)
-ex)LowRatio=0.1
-
-Format: NumMaxVictims=<#victim>
-Comment: specify the number of victims
-ex)NumMaxVictims=10
-
-Format: ProactiveThreshold=<threshold>
-Comment: specify threshold(MB) of proactive memory killer
-ex)ProactiveThreshold=30
-
-Format: ProactiveLeave=<threshold leave>
-Comment: specify threshold leave(MB) of proactive memory killer
-ex)ProactiveLeave=50
-
-Format: EventLevel=<event level>
-Comment: specify the level of vmpressure among (low, medium, critical)
-ex)EventLevel="low"
-
-Format: SWAPPINESS=<swappiness>
-Comment: specify swappiness of the root cgroup
-ex)SWAPPINESS=6
-
-Format: FOREGROUND_SWAPPINESS=<swappiness>
-Comment: specify swappiness of the High cgroup
-ex)FOREGROUND_SWAPPINESS=6
-
-Format: BACKGROUND_SWAPPINESS=<swappiness>
-Comment: specify swappiness of the Medium cgroup
-ex)BACKGROUND_SWAPPINESS=6
-
-Format: LOW_SWAPPINESS=<swappiness>
-Comment: specify swappiness of the Lowest cgroup
-ex)LOW_SWAPPINESS=6
-
-Format: NumFragSize=<fragmentation size>
-Comment: specify external fragmentation size of "Normal" zone.
- the fragmentation_size is the minimum count of order-2 pages in the kernel zone.
- if #32K_PAGE + (#64K_PAGE * 2) + (#128K_PAGE * 4) + (#256K_PAGE * 8) < NumFragSize,
- then compact memory in the kernel zone.
-ex)NumFragSize=300
-
-1.4 POPUP
-=========
-Format: oom_popup=<yes or no>
-Comment: specify whether a popup is needed or not when the process is killed by LMK or
- proactive killer
-ex)oom_popup=no
-
-1.5 BackgroundReclaim
-=====================
-Format: AfterScreenDim=<yes or no>
-Comment: specify whether background memory reclaim is needed when LCD_OFF signal is caught.
- This will cause force reclaim or memory limit on Medium cgroup.
-ex)AfterScreenDim=yes
-
-1.6 Logging
-===========
-Format: Enable=<1 or 0>
-Comment: specify whether logging is needed or not.
- if "Enable" value is 1, then resourced makes a memps log during LMK.
-ex)Enable=1
-
-Format: LogPath=<path>
-Comment: specify logging path
-ex)LogPath=/var/log
-
-Format: MaxNumLogfile=<num>
-Comment: specify maximum number of log files
-ex)MaxNumLogfile=50
-
-Format: PrefixMemps=<name>
-Comment: specify prefix of memps log file
-ex)PrefixMemps=memps
-
-Format: PrefixMempsMemLimit=<name>
-Comment: specify prefix of memps log file for apps managed by independent cgroup
-ex)PrefixMemps=memps_per_app
-
-1.7 MemLimit
-============
-Format: MemLimitTrigger=<trigger>
-Comment: specify type (oom, threshold, others) of trigger for apps managed by independent cgroup
- oom: regiter event using oom_control and kill process in kernel
- threshold: regiter event using usage_in_bytes and kill process in resourced
- others: don't register any event for memory limit
-ex)MemLimitTrigger=oom
-
-Format: MemLimit<type>=<memory>
-Comment: specify meory limit(MB) for app <type>
-ex)MemLimitService=128 (service type app)
- MemLimitWidget=128 (widget type app)
- MemLimitGUIApp=128 (guiapp type app)
- MemLimitBgApp=100 (background state app)
-
-1.8 CPU
-=======
-Format: <type>PREDEFINE=<app name>
-Comment: specify type and its app name.
- it makes effect of cpu cgroup, cpu priority, and iopriority
-ex)LAZY_PREDEFINE=app1
- PREDEFINE=app2
- BOOTING_PREDEFINE=app3
- WRT_PREDEFINE=app4
-
-Format: BACKGROUND_CPU_SHARE=<ratio>
-Comment: specify ratio(%) of background cpu share(= Medium cgroup/root cgroup * 100)
-ex)BACKGROUND_CPU_SHARE=50
-
-Format: QUOTA_CPU_SHARE=<ratio>
-Comment: specify ratio(%) of quota cpu share(= Lowest cgroup/root cgroup * 100)
-ex)QUOTA_CPU_SHARE=25
-
-Format: QUOTA_MAX_BANDWIDTH=<ratio>
-Comment: specify ratio(%s) of quota cpu bandwidth
- (cpu.cfs_quota_us = cpu.cfs_period_us * ratio/100)
-ex)QUOTA_MAX_BANDWIDTH=100
-
-1.9 CPU-SCHED
-=============
-Format: foreground=<core>,<core>-<core>
-Comment: specify cpu affinity of each core
-ex)foreground=1,2,3-5
+1.1 Section: MemoryThrottling
+=============================
+Key: ThrottlingLimit
+Value: <limit ratio in percentage>%
+Comment: Specify the throttling limit ratio in percentage.
+Example: ThrottlingLimit=80%
+
+1.2 Section: MemoryLevelThreshold
+=================================
+Key: OomPopup
+Value: (yes|1|ok|on|no|0|off)
+Comment: Specify whether a popup is needed or not when the process is killed by LMK or proactive killer.
+ If (yes|1|ok|on), resoruced will request system popup when OOM occurred.
+ If (no|0|off), resoruced will not request system popup when OOM occurred.
+Example: OomPopup=no
+
+Key: MediumLevel
+Value: <threshold>[GMK]B
+ or
+ <ratio>%
+Comment: Specify the threshold or ratio for memory level medium.
+Example: MediumLevel=400MB
+
+Key: LowLevel
+Value: <threshold>[GMK]B
+ or
+ <ratio>%
+Comment: Specify the threshold or ratio for memory level low.
+Example: LowLevel=300MB
+
+Key: CriticalLevel
+Value: <threshold>[GMK]B
+ or
+ <ratio>%
+Comment: Specify the threshold or ratio for memory level critical.
+Example: LowLevel=200MB
+
+Key: OomLevel
+Value: <threshold>[GMK]B
+ or
+ <ratio>%
+Comment: Specify the threshold or ratio for memory level oom(out of memory).
+Example: OomLevel=160MB
+
+1.3 Section: MemoryAppTypeLimit
+===============================
+Key: ServicePerAppLimitAction
+Value: <limit>[GMK]B,<action>
+Comment: Specify the memory limitation of services.
+ <action> specifies an action to be performed when the limit is crossed.
+ <action> can be: broadcast, reclaim, kill, ignore
+Example: ServicePerAppLimitAction=128MB,kill
+
+Key: WidgetPerAppLimitAction
+Value: <limit>[GMK]B,<action>
+Comment: Specify the memory limitation of widgets.
+ <action> specifies an action to be performed when the limit is crossed.
+ <action> can be: broadcast, reclaim, kill, ignore
+Example: WidgetPerAppLimitAction=160MB,kill
+
+Key: GUIPerAppLimitAction
+Value: <limit>[GMK]B,<action>
+Comment: Specify the memory limitation of GUIs.
+ <action> specifies an action to be performed when the limit is crossed.
+ <action> can be: broadcast, reclaim, kill, ignore
+Example: GUIPerAppLimitAction=160MB,kill
+
+1.4 Section: MemoryAppStatusLimit
+=================================
+Key: BackgroundPerAppLimitAction
+Value: <limit>[GMK]B,<action>
+Comment: Specify the memory limitation of background apps.
+ <action> specifies an action to be performed when the limit is crossed.
+ <action> can be: broadcast, reclaim, kill, ignore
+Example: BackgroundPerAppLimitAction=768MB,kill
+
+1.5 Section: CpuThrottling
+==========================
+Key: CpuSched
+Value: <schedule scheme>
+Comment: Specify the schedule scheme.
+ <schedule schedule> can be: idle, other, batch, fifo, rr, deadline
+Example: CpuSched=idle
+
+Key: CpuNice
+Value: <nice value>
+Comment: Specify the nice value.
+ <nice value> is an decimal integer value. (-20 ~ 19)
+Example: CpuNice=-20
+
+Key: CpuShare
+Value: <share amount>
+Comment: Specify ratio(%) of quota cpu share(= Lowest cgroup/root cgroup * 100)
+ <share amount> is an decimal unsigned integer value.
+Example: CpuShare=2
+
+Key: CpuCFSRuntime
+Value: <cpu runtime>[ mu]?s
+Comment: Specifies cfs_quota in milliseconds(m), microseconds(u) or seconds.
+ <cpu runtime> is an decimal unsigned integer value.
+Example: CpuCFSRuntime=50000
+
+Key: CpuCFSPeriod
+Value: <cpu period>[ mu]?s
+Comment: Specifies cfs_period in milliseconds(m), microseconds(u) or seconds.
+ <cpu period> is an decimal unsigned integer value.
+Example: CpuCFSRuntime=50000
2. optimizer.conf
=================
-2.1 SWAP
-========
-Format: Enable=<1 or 0>
-Comment: specify whether swap is needed or not.
- Enable=yes or 1 or true / Disalbe=no or 0 or false.
- to prevent thrashing, do not set "ReclaimAtBootThreshold" too low.
-ex)Enable=1
-
-Format: Type=<type>
-Comment: specify swap type among (zram, file, zswap).
- multiple swap devices are specified with '+'.
- for example, both zram and file are enable by zram+file (default is zram).
-ex)Type=zram
-
-Format: ReclaimAtBoot=<yes or no>
-Comment: specify whether reclaim is needed at boot time
-ex)ReclaimAtBoot=yes
-
-Format: TimerReclaimAtBoot=<time>
-Comment: specify delay time(sec) after booting is complete
-ex)TimerReclaimAtBoot=0
-
-Format: ReclaimAtBootThreshold=<bytes>
-Comment: specify threshold of memory reclaim at boot time
- if memory saving is lower than the threshold, then memory reclaim will stop
-ex)ReclaimAtBootThreshold=20M
-
-Format: ReclaimBootMaxTry=<#tries>
-Comment: specify the maximun number of memory reclaim at boot time
-ex)ReclaimBootMaxTry
-
-Format: ReclaimBootInterval=<time>
-Comment: specify time interval(sec) between the reclaiming at boot time
-ex)ReclaimBootInterval=1
-
-2.2 ZRAM
-========
-Format: COMP_ALGORITHM=<algorithm>
-Comment: specify algorithm for zram swap
-ex)COMP_ALGORITHM=zstd
-
-Format: RATIO=<ratio>
-Comment: specify ratio(<= 1) of zram swap
-ex)RATIO=0.4
-
-2.3 FILE
-========
-Format: CryptType=<type>
-Comment: specify crypto type
-ex)CryptType=aes
-
-Format: FileSize=<byte>
-Comment: specify file size of swap file
-ex)FileSize=20M
-
-2.4 ZSWAP
-=========
-Format: CryptType=<type>
-Comment: specify crypto type of swap
-ex)CryptType=aes
-
-Format: FileSize=<byte>
-Comment: specify file size of swap
-ex)FileSize=20M
+2.1 Section: MemorySwap
+=======================
+Key: ReclaimAtBoot
+Value: (yes|1|ok|on|no|0|off)
+Comment: Specify whether reclaim is needed at boot time.
+ If (yes|1|ok|on), resourced reclaims the swap at booting time.
+ If (no|0|off), no raclaim.
+Example: ReclaimAtBoot=yes
+
+Key: SwapType
+Value: <swapping type>([+|]+<swapping type>)*
+Comment: Specify the type of memory swapping.
+ <swapping type> can be: zram, file, zswap
+Example: SwapType=zram|file
+ or
+ SwapType=zram+file
+
+Key: ThrottlingSwappiness=80
+Value: <swappiness>
+Comment: Specify memory swappiness value.
+ <swappiness> is an decimal integer value.
+ Default swappiness is 60.
+ If <swappiness> < 60, the tendency of the kernel of swapping process memory will be decreased.
+ (But 0 does not mean no swapping)
+ If <swappiness> > 60, the tendency of the kernel of swapping process memory will be increased.
+ If <swappiness> > 100, then the kernel can swap out a part of the pages in the address space in this cgroup.
+Example: ThrottlingSwappiness=80
+
+2.2 Section: MemoryZram
+=======================
+Key: CompAlgorithm
+Value: <algorithm>
+Comment: Specify an algorithm for zram swap comparing algorithm.
+ <algorithm> string value will be written to "/sys/block/zram0/comp_algorithm"
+ The value for <algorithm> can be found by `cat /sys/block/zram0/comp_algorithm`, please choose one of them.
+Example: CompAlgorithm=zstd
+
+Key: ZramRatio
+Value: <ratio>
+Comment: Specify the ratio of zram swap size. (ratio in total ram)
+ <ratio> is an float value, 0 to 1.
+Example: ZramRatio=0.4
+
+2.3 Section: MemoryZswap
+========================
+Key: PoolRatio
+Value: <ratio>
+Comment: Specify the max ratio which the zswap pool can use. (/sys/module/zswap/parameters/max_pool_percent)
+ <ratio> is a percentage value.
+Example: PoolRatio=25
-Format: PoolRatio=25
-Comment: specify percent of max pool (/sys/module/zswap/parameters/max_pool_percent)
-ex)PoolRatio=25
+Key: PoolType
+Value: <type>
+Comment: Specify the type of zswap pool. (/sys/module/zswap/parameters/zpool)
+ <type> is a string value of zswap pool type name.
+ (zbud, z3fold ...)
-Format: PoolType=<type>
-Comment: specify zswap type (/sys/module/zswap/parameters/zpool)
-ex)PoolType=z3fold
+Example: PoolType=z3fold
-2.5 DEDUP
-=========
-Format: Enable=<1 or 0>
-Comment: specify whether KSM-based dedup is needed or not
- Enable=yes or 1 or true / Disalbe=no or 0 or false
-ex)Enable=1
-
-Format: DedupAtBoot=<yes or no>
-Comment: specify whether dedup is needed at boot time
-ex)DedupAtBoot=yes
-
-Format: DedupAtBootDelayMs=<time>
-Comment: specify delay time(msec) after booting is complete
-ex)DedupAtBootDelayMs=60000
-
-Format: ScanOnLowmem=<true or false>
-Comment: specify whether scanning for dedup is invoked by low memory event or periodic timer
-ex)ScanOnLowmem=true
-
-Format: StatIntervalMs=<time>
-Comment: specify time interval(msec) between KSM stat
-ex)StatIntervalMs=60000
-
-Format: FullScanIntervalMs
-Comment: specify time interval(msec) between full scans
-ex)FullScanIntervalMs=60000
-
-Format: PartialScanIntervalMs
-Comment: specify time interval(msec) between partial scans
-ex)PartialScanIntervalMs=30000
-
-2.6 KSM
-=======
-Format: Mode=<mode>
-Comment: specify KSM mode between periodic and oneshot
- periodic mode: the kernel manages all behaviors of deduplication.
- oneshot mode: the KSM daemon only performs deduplication
-ex)Mode=oneshot
-
-Format: PagesToScan=<#page>
-Comment: specify pages to scan for deduplication
-ex)PagesToScan=30
-
-Format: SleepMs=<time>
-Comment: specify sleep time(msec) after scanning is complete
-ex)SleepMs=3000
-
-Format: FullScanIntervalMs=<time>
-Comment: specify time interval(msec) between KSM deduplication (/sys/kernel/mm/ksm/full_scan_interval)
-ex)FullScanIntervalMs=3000
-
-Format: ScanBoost=<#page>
-Comment: specify pages to scan for boosting partial scan.
- ScanBoost is normally larger than 'PagesToScan'
-ex)ScanBoost=1000
-
-2.7 Compaction
-==============
-Format: CompactEnable=<1 or 0>
-Comment: specify whether compaction is needed or not
-ex)CompactEnable=1
-
-Format: Fraglevel=<level>
-Comment: specify external fragmentation size of the kernel zone.
- conditions for triggering compaction.
-ex)Fraglevel=800
+2.4 Section: MemoryDedup
+========================
+Key: DedupAtBoot
+Value: (yes|1|ok|on|no|0|off)
+Comment: Dedup removes duplication on memory.
+ Specify whether dedup is needed at boot time
+ If (yes|1|ok|on), dedup will be activated at boot time.
+ If (no|0|off), no dedup at boot time.
+Example: DedupAtBoot=yes
+
+Key: ScanOnLowmem
+Value: (yes|1|ok|on|no|0|off)
+Comment: Specify whether scanning for dedup is invoked by low memory event or periodic timer.
+ If (yes|1|ok|on), dedup is on.
+ If (no|0|off), no dedup.
+Example: ScanOnLowmem=yes
+
+2.5 Section: MemoryKsm
+======================
+Key: KsmMode
+Value: <mode>
+Comment: Specify KSM(Kernsl Same-page Merging, dedup) mode.
+ <mode> can be: oneshot, periodic
+ oneshot: The KSM daemon only performs deduplication.
+ periodic: The kernel manages all behaviors of deduplication.
+Example: KsmMode=periodic
+
+Key: PagesToScan
+Value: <pages>
+Comment: Specify the number of pages to scan for deduplication.
+ <pages> is an decimal integer value.
+Example: PagesToScan=100
+
+Key: PagesToScanWithBoost
+Value: <pages>
+Comment: Specify the number of pages to scan for boosting partial scan.
+ This value is normally larger than "PagesToScan" value.
+ <pages> is an decimal integer value.
+Example: PagesToScanWithBoost=1000
+
+2.6 Section: MemoryCompaction
+=============================
+Key: FragLevel
+Value: <level>
+Comment: Specify external fragmentation size of the kernel zone.
+ It determines when to trigger compaction.
+ <level> is an decimal integer value.
+ 800 means 80%.
+Example: FragLevel=800
+
+2.7 Section: CpuSched
+=====================
+Key: CpuSchedFeature
+Value: <feature>([,]+<feature>)*
+Comment: Specify cpu scheduling features.
+ <feature> can be: rt_runtime_share, no_rt_runtime_share
+ Multiple values can be used by separating them into ','.
+Example: CpuSchedFeature=no_rt_runtime_share
+
+Key: CpuRTRuntime
+Value: <cpu rt runtime>[ mu]?s
+Comment: Specify cpu rt runtime in milliseconds(m), microseconds(u) or seconds.
+ <cpu rt runtime> is an decimal integer value.
+Example: CpuRTRuntime=900ms
+
+Key: CpuRTPeriod
+Value: <cpu rt period>[ mu]?s
+Comment: Specify cpu rt period in milliseconds(m), microseconds(u) or seconds.
+ <cpu rt period> is an decimal integer value.
+Example: CpuRTRuntime=900ms
+
+2.8 Section: CpuAffinity
+========================
+Key: ForegroundApps
+Value: (<core num>|<core range>)(,(<core num>|<core range>))*
+Comment: Specify the cpu affinity of each core
+ <core num> is an decimal integer
+ <core range> is: <core num>-<core num>
+Example: ForegroundApps=1,2,3-5
+
+2.9 Section: CpuBoostingLevelStrong
+===================================
+Key: CpuSched
+Value: <schedule scheme>
+Comment: Specify the schedule scheme when the cpu boosting level is "strong".
+ <schedule schedule> can be: idle, other, batch, fifo, rr, deadline
+Example: CpuSched=rr
+
+Key: CpuNice
+Value: <nice value>
+Comment: Specify the nice value when the cpu boosting level is "strong".
+ <nice value> is an decimal integer value. (-20 ~ 19)
+Example: CpuNice=-20
+
+Key: CpuRTPriority
+Value: <priority>
+Comment: Specify the cpu rt priority when the cpu boosting level is "strong".
+ <priority> is an decimal integer value.
+Example: CpuRTPriority=50
+
+2.10 Section: CpuBoostingLevelMedium
+====================================
+Key: CpuSched
+Value: <schedule scheme>
+Comment: Specify the schedule scheme when the cpu boosting level is "medium".
+ <schedule schedule> can be: idle, other, batch, fifo, rr, deadline
+Example: CpuSched=rr
+
+Key: CpuNice
+Value: <nice value>
+Comment: Specify the nice value when the cpu boosting level is "medium".
+ <nice value> is an decimal integer value. (-20 ~ 19)
+Example: CpuNice=-20
+
+Key: CpuRTPriority
+Value: <priority>
+Comment: Specify the cpu rt priority when the cpu boosting level is "medium".
+ <priority> is an decimal integer value.
+Example: CpuRTPriority=50
+
+2.11 Section: CpuBoostingLevelWeak
+==================================
+Key: CpuSched
+Value: <schedule scheme>
+Comment: Specify the schedule scheme when the cpu boosting level is "weak".
+ <schedule schedule> can be: idle, other, batch, fifo, rr, deadline
+Example: CpuSched=rr
+
+Key: CpuNice
+Value: <nice value>
+Comment: Specify the nice value when the cpu boosting level is "weak".
+ <nice value> is an decimal integer value. (-20 ~ 19)
+Example: CpuNice=-20
+
+Key: CpuRTPriority
+Value: <priority>
+Comment: Specify the cpu rt priority when the cpu boosting level is "weak".
+ <priority> is an decimal integer value.
+Example: CpuRTPriority=50
3. monitor.conf
===============
3.1 HEART
=========
-Format: <device>=<ON or OFF>
-Comment: specify whether devices(ABNORMAL, BATTERY, CPU, MEMORY, STORAGE) for logging are needed or not
-ex)BATTERY=ON
- CPU=ON
- MEMORY=OFF
- STORAGE=ON
- ABNORMAL=OFF
+Key: <device module name>
+Value: (ON|OFF)
+Comment: Specify logging is ON or OFF.
+ <device module name> can be: ABNORMAL, BATTERY, CPU, MEMORY, STORAGE
+ If value is ON, then logging for <device module name> is on.
+ else no logging for this module.
+Example: BATTERY=ON
3.2 BATTERY_POWER_MODE
======================
-Format: POWER_NORMAL_MODE=<power>
-Comment: specify power of normal mode
-ex)POWER_NORMAL_MODE=676
-
-Format: POWER_SAVING_MODE=<power>
-Comment: specify power of saving mode
-ex)POWER_SAVING_MODE=750
-
-Format: ULTRA_SAVING_MODE=<power>
-Comment: specify power of ultra saving mode
-ex)ULTRA_SAVING_MODE=1947
+Key: POWER_NORMAL_MODE
+Value: <power>
+Comment: Specify power for normal mode.
+ <power> is an integer value.
+Example: POWER_NORMAL_MODE=676
+
+Key: POWER_SAVING_MODE
+Value: <power>
+Comment: Specify power for saving mode.
+ <power> is an integer value.
+Example: POWER_SAVING_MODE=750
+
+Key: ULTRA_SAVING_MODE
+Value: <power>
+Comment: Specify power for ultra saving mode.
+ <power> is an integer value.
+Example: ULTRA_SAVING_MODE=1947
3.3 BATTERY_<capacity>
======================
-Format: LOGIC_V2=<1 or 0>
-Comment: specify whether logic_v2 is supported or not
-ex)LOGIC_V2=1
-
-Format: DISCHARGE_FAST=<time>
-Comment: specify total time(min) taken when device is discharging at fastest rate
-ex)DISCHARGE_FAST=700
-
-Format: DISCHARGE_SLOW=<time>
-Comment: specify total time(min) taken when device is discharging at slowest rate
-ex)DISCHARGE_SLOW=12000
-
-Format: AVERAGE_PWR=<float>
-Comment: Avarage power consumed in UPS mode
-ex)AVERAGE_PWR=35.0
-
-Format: BATTERY_CAPACITY=<capacity>
-Comment: specify battery capacity(min)
-ex)BATTERY_CAPACITY=12000
-
-Format: LOGIC_RUL=<1 or 0>
-Comment: specify whether remaining usefull life (RUL) prediction logic is supported or not
-ex)LOGIC_RUL=1
-
-Format: OCV_SOC_POLY_COEF=<degree (coef_1) ... (coef_n)>
-Comment: specify degree and each coefficients
-ex)OCV_SOC_POLY_COEF=6 3402.664 42.031 -1.76745 0.034798 -0.00030516 0.0000010116
+Key: LOGIC_V2
+Value: (0|1)
+Comment: Specify whether logic_v2 is suppoted or not.
+Example: LOGIC_V2=1
+
+Key: LOGIC_RUL
+Value: (0|1)
+Comment: Specify whether remaining usefull life (RUL) prediction logic is supported or not.
+Example: LOGIC_RUL=1
+
+Key: BATTERY_CAPACITY
+Value: <capacity>
+Comment: Specify the capacity of the battery.
+Example: BATTERY_CAPACITY=12000
+
+Key: DISCHARGE_FAST
+Value: <time>
+Comment: Specify the total time(min) taken when the device is discharging at fastest rate.
+ <time> is an integer value.
+Example: DISCHARGE_FAST=700
+
+Key: DISCHARGE_SLOW
+Value: <time>
+Comment: Specify the total time(min) taken when the device is discharging at slowest rate.
+ <time> is an integer value.
+Example: DISCHARGE_SLOW=12000
+
+Key: AVERAGE_PWR
+Value: <avg_pwr>
+Comment: Specify the avarage power consumed in UPS mode.
+ <avg_pwr> is a float value.
+Example: AVERAGE_PWR=35.0
+
+Key: OCV_SOC_POLY_COEF
+Value: <ocv degree(n)> <coef 1> ... <coef n>
+Comment: Specify coefficients of polynomial expression for OCV, SOC.
+Example: OCV_SOC_POLY_COEF=6 3402.664 42.031 -1.76745 0.034798 -0.00030516 0.0000010116
4. process.conf
===============
4.1 APPUSAGE
============
-Format: APPUSAGE=<ON or OFF>
-Comment: specify whether favorite apps are required or not
-ex)APPUSAGE=ON
-
-Format: PREDEFINE=<app name>
-Comment: specify favorite apps
-ex) PREDEFINE=app1
+Key: APPUSAGE
+Value: (ON|OFF)
+Comment: Specify whether favorite apps table is required or not.
+ Favorite apps will be specified in "PREDEFINED" (see below)
+Example: APPUSAGE=ON
+
+Key: PREDEFINED
+Value: <app name>
+Comment: Specify favorite apps.
+ <app name> will be added to favorite apps table.
+Example: PREDEFINED=app1
+
+4.2 BLOCK
+=========
+Key: activate
+Value: (TRUE|FALSE)
+Comment: Specify whether the monitoring for home directory of users is required or not
+ If TRUE, monitoring on.
+ else, no monitoring.
+Example: activate=TRUE
+
+Key: mode
+Value: (ACCESS|READ|WRITE|DISABLE)
+Comment: Specify monitoring mode.
+Example: mode=WRITE
+
+Key: include
+Value: <pkgname>
+Comment: Specify included package name.
+Example: include=DOWNLOADABLE
+
+Key: exclude
+Value: <pkgname>
+Comment: Specify excluded package name.
+Example: excluded=SLP_debug
+
+Key: logging
+Value: <type>
+Comment: Specify logging type.
+ <type> is a flag value, including: DLOG(0x1), FILE(0x2), DB(0x4).
+ If DLOG and DB type, then <type> is 5 (0x01 | 0x04).
+Example: logging=5
+
+5. limiter.conf.d/*.conf
+========================
-4.2 WATCHDOG_EXCLUDED_PROCESSES
-===============================
-Format: PREDEFINE=<app name>
-Comment: specify watchdog excluded app list
-ex)PREDEFINE=app1
+5.1 Section: Private
+====================
+Key: App|Service|SERVICE|Process|PROCESS
+Value: <name>
+Comment: Specify the name of app/service/process.
+ One per one Private section.
+Example: Service=dbus.service
+Example: App=org.tizen.<app>
+
+Key: MemLimitAction
+Value: <limit>[GMK]B,<action>
+Comment: Specify the memory limitation of this app/service/process.
+ <action> specifies an action to be performed when the limit is crossed.
+ <action> can be: broadcast, reclaim, kill, ignore
+Example: MemLimitAction=4096KB,kill
+
+Key: MemoryThrottling
+Value: (yes|1|ok|on|no|0|off)
+Comment: Specify whether the memory throttling is enabled.
+ If (yes|1|ok|on), enable memory throttling.
+ If (no|0|off), disable memory throttling.
+Example: MemoryThrottling=yes
+
+Key: CpuThrottling
+Value: (yes|1|ok|on|no|0|off)
+Comment: Specify whether the cpu throttling is enabled.
+ If (yes|1|ok|on), enable cpu throttling.
+ If (no|0|off), disable cpu throttling.
+Example: CpuThrottling=yes
+
+6. optimizer.conf.d/*.conf
+==========================
+
+6.1 Section: Private
+====================
+Key: App|Service|SERVICE|Process|PROCESS
+Value: <name>
+Comment: Specify the name of app/service/process.
+ One per one Private section.
+Example: Service=dbus.service
+Example: App=org.tizen.<app>
+
+Key: CpuSched
+Value: <schedule scheme>
+Comment: Specify the schedule scheme.
+ <schedule schedule> can be: idle, other, batch, fifo, rr, deadline
+Example: CpuSched=idle
+
+Key: CpuNice
+Value: <nice value>
+Comment: Specify the nice value.
+ <nice value> is an decimal integer value. (-20 ~ 19)
+Example: CpuNice=-20
+
+Key: CpuRTPriority
+Value: <priority>
+Comment: Specify the cpu rt priority.
+ <priority> is an decimal integer value.
+Example: CpuRTPriority=50
+
+Key: CpuBoostingLevel
+Value: (strong|medium|weak)
+Comment: Specify the boosting level of this app/service/process.
+Example: CpuBoostingLevel=medium
+
+7. process.conf.d/*.conf
+========================
-4.3 BLOCK
-=========
-Format: activate=<TRUE or FALSE>
-Comment: specify whether user's home directories monitoring is required or not
-ex)activate=TRUE
-
-Format: mode=<type>
-Comment: specify monitor mode(DISABLE,, ACCESS, READ, WRITE) of directories
-ex)mode=WRITE
-
-Format: exclude=<name>
-Comment: specify excluded path
-ex)exclude=SLP_debug
-
-Format: include=<name>
-Comment: specify included path
-ex)include=DOWNLOADABLE
-
-Format: logging=<type>
-Comment: specify logging type.
- DLOG=0x1, FILE=0x2, DB=0x4
-ex)logging=5
+7.1 Section: Private
+====================
+Key: App|Service|SERVICE|Process|PROCESS
+Value: <name>
+Comment: Specify the name of app/service/process.
+ One per one Private section.
+Example: Service=dbus.service
+Example: App=org.tizen.<app>
+
+Key: ActionOnFailure
+Value: <action>
+Comment: Specify an action on failure.
+ <action> can be: reboot
+Example: ActionOnFailure=reboot
+
+Key: WatchdogAction
+Value: <action>
+Comment: Specify an action for watchdog.
+ <action> can be: ignore, kill
+Example: WatchdogAction=ignore
+
+8. vip-process.d/*.conf
+=======================
+
+8.1 Section: Private|VIP_GROUP
+==============================
+Key: App|Service|SERVICE|Process|PROCESS
+Value: <name>
+Comment: Specify the name of app/service/process.
+ One per one Private section.
+Example: Service=dbus.service
+Example: App=org.tizen.<app>
+
+Key: ACTION_ON_FAILURE
+Value: <action>
+Comment: Specify an action on failure.
+ <action> can be: reboot
+Example: ACTION_ON_FAILURE=reboot