Modify README of config files 53/286353/4 accepted/tizen/unified/20230109.150958
authorSangYoun Kwak <sy.kwak@samsung.com>
Wed, 4 Jan 2023 09:21:26 +0000 (18:21 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Wed, 4 Jan 2023 10:27:01 +0000 (19:27 +0900)
The README of config files was renewed
because its content was out-dated.

Below are the changes:
1. Format
Now the key and value of the properties are described
separately.
For more accurate explanation, keys and values are described
using regular expression.

2. Contents were renewed about files below(config for common):
limiter.conf
optimizer.conf
monitor.conf
process.conf

3. Contents were added(config for each app):
limiter.conf.d/*.conf
optimizer.conf.d/*.conf
process.conf.d/*.conf
vip-process.d/*.conf

Change-Id: I585f6382b1ddff6d1458586a05b5fe92cf715b91
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
conf/README

index 731aed5..6cd771c 100644 (file)
-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