About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / cgroups / hugetlb.txt




Custom Search

Based on kernel version 3.15.4. Page generated on 2014-07-07 09:00 EST.

1	HugeTLB Controller
2	-------------------
3	
4	The HugeTLB controller allows to limit the HugeTLB usage per control group and
5	enforces the controller limit during page fault. Since HugeTLB doesn't
6	support page reclaim, enforcing the limit at page fault time implies that,
7	the application will get SIGBUS signal if it tries to access HugeTLB pages
8	beyond its limit. This requires the application to know beforehand how much
9	HugeTLB pages it would require for its use.
10	
11	HugeTLB controller can be created by first mounting the cgroup filesystem.
12	
13	# mount -t cgroup -o hugetlb none /sys/fs/cgroup
14	
15	With the above step, the initial or the parent HugeTLB group becomes
16	visible at /sys/fs/cgroup. At bootup, this group includes all the tasks in
17	the system. /sys/fs/cgroup/tasks lists the tasks in this cgroup.
18	
19	New groups can be created under the parent group /sys/fs/cgroup.
20	
21	# cd /sys/fs/cgroup
22	# mkdir g1
23	# echo $$ > g1/tasks
24	
25	The above steps create a new group g1 and move the current shell
26	process (bash) into it.
27	
28	Brief summary of control files
29	
30	 hugetlb.<hugepagesize>.limit_in_bytes     # set/show limit of "hugepagesize" hugetlb usage
31	 hugetlb.<hugepagesize>.max_usage_in_bytes # show max "hugepagesize" hugetlb  usage recorded
32	 hugetlb.<hugepagesize>.usage_in_bytes     # show current res_counter usage for "hugepagesize" hugetlb
33	 hugetlb.<hugepagesize>.failcnt		   # show the number of allocation failure due to HugeTLB limit
34	
35	For a system supporting two hugepage size (16M and 16G) the control
36	files include:
37	
38	hugetlb.16GB.limit_in_bytes
39	hugetlb.16GB.max_usage_in_bytes
40	hugetlb.16GB.usage_in_bytes
41	hugetlb.16GB.failcnt
42	hugetlb.16MB.limit_in_bytes
43	hugetlb.16MB.max_usage_in_bytes
44	hugetlb.16MB.usage_in_bytes
45	hugetlb.16MB.failcnt
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.