{"id":682,"date":"2015-11-23T01:59:04","date_gmt":"2015-11-23T01:59:04","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=682"},"modified":"2015-11-23T01:59:04","modified_gmt":"2015-11-23T01:59:04","slug":"oracle-linux-huge-page","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=682","title":{"rendered":"Oracle Linux Huge Page"},"content":{"rendered":"<p>\uc77c\ubc18\uc801\uc778 \ucef4\ud4e8\ud305 \uc2dc\uc2a4\ud15c\uc740 \ubb3c\ub9ac\uc801 \uba54\ubaa8\ub9ac \ud06c\uae30\uc758 \ud55c\uacc4\ub97c \uadf9\ubcf5\ud558\uae30 \uc704\ud574 Virtual Memory \uae30\ubc95\uc744 \uc0ac\uc6a9 \ud558\uba70, \uc0c1\uc774\ud55c \ub450 \uba54\ubaa8\ub9ac\ub97c \ub9e4\ud551\ud558\uae30 \uc704\ud574 Page Table\uc774 \uc874\uc7ac\ud558\uace0 Page\ub2e8\uc704\ub85c \uad00\ub9ac\ub429\ub2c8\ub2e4. \ub9ac\ub205\uc2a4 \uc2dc\uc2a4\ud15c\uc758 \uacbd\uc6b0 \ubcf4\ud1b5 4k \ud06c\uae30\uc758 Page\ub85c \ub514\uc790\uc778\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p><\/p>\n<p>\ub300\uc6a9\ub7c9 \uba54\ubaa8\ub9ac\ub97c \uc7a5\ucc29\ud55c \uc2dc\uc2a4\ud15c\uc758 \ud6a8\uc728\uc801\uc778 Page Table\uad00\ub9ac\ub97c \uc704\ud574 <b>Linux Kernel 2.6 \ubd80\ud130 HugePage \uae30\uc220\uc774 \ub3c4\uc785<\/b>\ub418\uc5b4 \uc880 \ub354 \ud070 Page \ud06c\uae30(\uc608: 2M ~ 256M)\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.&nbsp;<\/p>\n<p><span style=\"font-size: 10pt;\"><b>Exadata\uc758 Oracle DBMS\ub294 \uc774\ub7ec\ud55c Huge Page\ub97c \uc0ac\uc6a9\ud558\uc5ec SGA\ub97c \uad00\ub9ac\ud558\ub294 \uac83\uc744 \uad8c\uc7a5\ud569\ub2c8\ub2e4. Exadata\ub294 2048K \ud06c\uae30\uc758 HugePage\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/b><\/span><\/p>\n<p><\/p>\n<p>Huge Page \uc0ac\uc6a9\uc758 \uc787\uc810\uc740 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p style=\"margin-left: 2em;\">1. Normal Page\uc640\ub294 \ub2e4\ub974\uac8c HugePage\ub294 Swap\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c Page-in\/.Page-Out\uc758 Overhead\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.<\/p>\n<p style=\"margin-left: 2em;\">2. HugePage\ub294 \uc0c1\ub300\uc801\uc73c\ub85c \uc801\uc740 \uc218\uc758 Meta \uc815\ubcf4\ub85c \uc880 \ub9ce\uc740 \ubb3c\ub9ac\uc801 \uba54\ubaa8\ub9ac\ub97c Cover\ud558\ubbc0\ub85c CPU\ub0b4\uc758 Buffer(=Translation Lookaside Buffer, TLB)\uc880 \ub354 \ub9ce\uc740 Page Entry\ub97c \ubcf4\uad00\ud560 \uc218 \uc788\uc5b4 Page Hit\uc728\uc774 \ub192\uc544\uc9d1\ub2c8\ub2e4.<\/p>\n<p style=\"margin-left: 2em;\">3. Page Table\uc5d0\uc11c \uad00\ub9ac\ud558\ub294 \ubb3c\ub9ac\uc801 \uba54\ubaa8\ub9ac\uc758 Entry \uac1c\uc218\uac00 \uc904\uc5b4\ub4e4\uace0 \ub354 \uc801\uc740 \uba54\ubaa8\ub9ac \uacf5\uac04\uc744 \ucc28\uc9c0\ud569\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc624\ub77c\ud074 \uad00\uc810\uc5d0\uc11c \ubcf4\uba74 \uc624\ub77c\ud074 \ud504\ub85c\uc138\uc2a4\uc758 \uacc4\uc0b0\uc774\ub098 PGA\uc5d0 \uc880 \ub354 \ub9ce\uc740 \uba54\ubaa8\ub9ac\uac00 \uc81c\uacf5\ub429\ub2c8\ub2e4.<\/p>\n<p style=\"margin-left: 2em;\">4. Normal Page\uc758\uacbd\uc6b0, 50GB\uc758 \uba54\ubaa8\ub9ac\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud574\uc11c\ub294 1,300 \ub9cc\uac1c\uc758 page(13,107,200 = 50 * 1024* 1024 KB \/ 4 KB)\uac00 \uc720\uc9c0\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.<b><span style=\"color: rgb(255, 0, 0);\"> HugePages\ub97c \uc0ac\uc6a9\ud560 \uacbd\uc6b0 25,600 \uac1c\uc758 Page\uac00 \uad00\ub9ac\ub418\ubbc0\ub85c \uba54\ubaa8\ub9ac \uad00\ub9ac\uc744 \uc704\ud55c Overhead\uac00 \uc904\uc5b4\ub4e4\uace0 \uc790\uc6d0\uc0ac\uc6a9\uc728\ub3c4 \uc808\uc57d<\/span><\/b>\ub429\ub2c8\ub2e4.<\/p>\n<p style=\"margin-left: 2em;\"><\/p>\n<p><u>Virtual Memory \uc2dc\uc2a4\ud15c\uc5d0\uc11c\uc758 Page Table\uacfc Physical Memory Mapping(Normal Page, Huge Page)<\/u><\/p>\n<p style=\"text-align: left; clear: none; float: none;\"><img loading=\"lazy\" src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile10.uf.2560EA36565270101A5094.jpg?resize=462%2C328\" class=\"aligncenter\" width=\"462\" height=\"328\" filename=\"oracle_huge_archi.jpg\" filemime=\"image\/jpeg\" data-recalc-dims=\"1\" \/><\/p>\n<p><\/p>\n<p><u>Normal Page\uc640 Huge Page\ub97c \uc0ac\uc6a9\ud588\uc744 \ub54c\uc758 TPS (swing bench\ub85c \ud14c\uc2a4\ud2b8(x\ucd95: \uc0ac\uc6a9\uc790, y\ucd95: TPS)<\/u><\/p>\n<p><\/p>\n<p style=\"text-align: left; clear: none; float: none;\"><img loading=\"lazy\" src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile2.uf.2462114A5652707624DC4E.jpg?resize=633%2C272\" class=\"aligncenter\" width=\"633\" height=\"272\" filename=\"oracle_huge_graph.jpg\" filemime=\"image\/jpeg\" data-recalc-dims=\"1\" \/><\/p>\n<p><\/p>\n<p>Oracle 11.2.0.2 \uc774\uc0c1\ubd80\ud130\ub294 use_large_pages = ( TRUE | FALSE | ONLY ) \ud30c\ub77c\ubbf8\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec Oracle SGA \uc758 HugePage \uc0ac\uc6a9\uc744 \uad00\ub9ac\ud558\uace0 \ubb38\uc81c\uc758 \ubc1c\uc0dd\uc744 \uc608\ubc29\ud569\ub2c8\ub2e4.&nbsp;<\/p>\n<p>Oracle 11.2.0.3 \ubd80\ud130\ub294 HugePages\uac00 SGA\uc5d0 \ube44\ud574 \uc791\uc744 \uacbd\uc6b0, HugePages\uc640 Normal Pages\ub97c \ub3d9\uc2dc\uc5d0 \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n<p><\/p>\n<p><b><span style=\"font-size: 10pt;\">HugePage Configuration\uc744 \ud655\uc778\ud558\ub294 \ubc29\ubc95<\/span><\/b><\/p>\n<p>1. memlock \ud655\uc778(\/etc\/security\/limits.conf). RAM \ud06c\uae30\ubcf4\ub2e4 \uc57d\uac04 \uc791\uc740 \ud06c\uae30\uc815\ub3c4\ub85c \uc124\uc815\ub428\uc744 \ud655\uc778 (\ub2e8\uc704 : KB, X2-2\uc758 Computing Node\uc758 Physical Memory\ub294 96GB \uc784)<\/p>\n<p style=\"margin-left: 4em;\">oracle soft memlock 88926480 ## memlock: \ucd5c\ub300 \uace0\uc815 \uba54\ubaa8\ub9ac(max locked memory)(<\/p>\n<p style=\"margin-left: 4em;\">oracle hard memlock 88926480 ## \ub2e8\uc704(KB)<\/p>\n<p>2. Oracle Product Owner, \uc989, oracle\ub85c login\ud558\uc5ec max locked memory \uac12 \ud655\uc778<\/p>\n<p style=\"margin-left: 4em;\">ulimit -l<\/p>\n<p style=\"margin-left: 4em;\">88926480<\/p>\n<p>3.&nbsp;Hugepages \uc124\uc815 \ud655\uc778<\/p>\n<p style=\"margin-left: 4em;\">[root@ ~]# grep Huge \/proc\/meminfo<\/p>\n<p style=\"margin-left: 4em;\">HugePages_Total: 13064 13054 * 2048 KB =&gt; \uc57d 25 GB<\/p>\n<p style=\"margin-left: 4em;\">HugePages_Free: 1111<\/p>\n<p style=\"margin-left: 4em;\">HugePages_Rsvd: 1111<\/p>\n<p style=\"margin-left: 4em;\">HugePages_Surp: 0<\/p>\n<p style=\"margin-left: 4em;\">Hugepagesize: 2048 kB<\/p>\n<p><\/p>\n<p><b><span style=\"font-size: 10pt;\">\u203b \uc2dc\uc2a4\ud15c\uc0c1 Oracle\uc758 SGA\uac00 \uc704\uce58\ud558\ub294 shared memory segments\ub97c \ud655\uc778<\/span><\/b><\/p>\n<p style=\"text-align: left; clear: none; float: none;\"><img loading=\"lazy\" src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile10.uf.253407485652718A2BF961.jpg?resize=612%2C221\" class=\"aligncenter\" width=\"612\" height=\"221\" filename=\"oracle_hg_chk.jpg\" filemime=\"image\/jpeg\" data-recalc-dims=\"1\" \/><\/p>\n<p><\/p>\n<p><\/p>\n<p><b><u><span style=\"font-size: 10pt;\">HugePages\ub97c \uc124\uc815\ud558\ub294 \ubc29\ubc95<\/span><\/u><\/b><\/p>\n<p><b><u><br \/><\/u><\/b><\/p>\n<p>1. Oracle Instances\ub97c \ub6f0\uc6b4\ub2e4.<span style=\"color: rgb(255, 0, 0);\"><b> \ud544\uc218 AMM\uc774 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc544\uc57c \ud568 !!!!<\/b><\/span><\/p>\n<p>2. MOS Note 401749.1\uc758 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc774\uc6a9\ud558\uc5ec \ud544\uc694\ud55c Hugepages \uac12\uc744 \ucc3e\ub294\ub2e4.<\/p>\n<p style=\"margin-left: 4em;\">## DB Instance\ub97c \ubaa8\ub450 \ub744\uc6b4\ud6c4,<\/p>\n<p style=\"margin-left: 4em;\">$ cd \/u02\/scripts<\/p>\n<p style=\"margin-left: 4em;\">$ sh huge.sh<\/p>\n<p style=\"margin-left: 4em;\">Recommended setting: vm.nr_hugepages = 9222<\/p>\n<p>3. \ud574\ub2f9 \uac12\uc744 \uc124\uc815\ud55c\ub2e4.<\/p>\n<p style=\"margin-left: 2em;\"><b># sysctl \u2013w vm.nr_hugepages=9222<\/b><\/p>\n<p style=\"margin-left: 2em;\">\uadf8\ub9ac\uace0 \uc11c\ubc84\uac00 Reboot\ub418\ub354\ub77c\ub3c4 \uc124\uc815\uac12\uc774 \uc720\uc9c0\ub418\uae30 \uc704\ud574\uc11c\ub294 \/etc\/sysctl.conf\uc5d0 vmm.nr_hugepages = 9222 \ub97c \uc124\uc815\ud569\ub2c8\ub2e4.<\/p>\n<p>4. DBMS\uc758 USE_LARGE_PAGES=ONLY \ub85c \uc124\uc815\ud6c4 Restart<\/p>\n<p>5. &nbsp;\u201c$ grep Huge \/proc\/meminfo\u201d &nbsp;\uba85\ub839\uc5b4\ub85c Huge Page\uc0ac\uc6a9\ub7c9\uc744 \ud655\uc778<\/p>\n<p><\/p>\n<p>[ HugePage \uad00\ub828 \uc774\uc288 ]<\/p>\n<p><\/p>\n<p style=\"text-align: left; clear: none; float: none;\"><img loading=\"lazy\" src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile21.uf.2204B44B565272A73684D5.jpg?resize=640%2C658\" class=\"aligncenter\" width=\"640\" height=\"658\" filename=\"ORACLE_Hg_issue.jpg\" filemime=\"image\/jpeg\" style=\"\"\"\" data-recalc-dims=\"1\" \/><\/p>\n<p><\/p>\n<p><\/p>\n<p><\/p>\n<p><\/p>\n<p><\/p>\n<p><\/p>\n<p><\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc77c\ubc18\uc801\uc778 \ucef4\ud4e8\ud305 \uc2dc\uc2a4\ud15c\uc740 \ubb3c\ub9ac\uc801 \uba54\ubaa8\ub9ac \ud06c\uae30\uc758 \ud55c\uacc4\ub97c \uadf9\ubcf5\ud558\uae30 \uc704\ud574 Virtual Memory \uae30\ubc95\uc744 \uc0ac\uc6a9 \ud558\uba70, \uc0c1\uc774\ud55c \ub450 \uba54\ubaa8\ub9ac\ub97c \ub9e4\ud551\ud558\uae30 \uc704\ud574 Page Table\uc774 \uc874\uc7ac\ud558\uace0 Page\ub2e8\uc704\ub85c \uad00\ub9ac\ub429\ub2c8\ub2e4. \ub9ac\ub205\uc2a4 \uc2dc\uc2a4\ud15c\uc758 \uacbd\uc6b0 \ubcf4\ud1b5 4k \ud06c\uae30\uc758 Page\ub85c \ub514\uc790\uc778\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. \ub300\uc6a9\ub7c9 \uba54\ubaa8\ub9ac\ub97c \uc7a5\ucc29\ud55c \uc2dc\uc2a4\ud15c\uc758 \ud6a8\uc728\uc801\uc778 Page Table\uad00\ub9ac\ub97c \uc704\ud574 Linux Kernel 2.6 \ubd80\ud130 HugePage \uae30\uc220\uc774 \ub3c4\uc785\ub418\uc5b4 \uc880 \ub354 \ud070 Page \ud06c\uae30(\uc608: 2M ~ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":683,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[14],"tags":[27,367,368,369,370,371],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/1\/cfile2.uf.2462114A5652707624DC4E.jpg?fit=633%2C272","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/682"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=682"}],"version-history":[{"count":0,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/682\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/683"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=682"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}