{"id":1801,"date":"2019-08-23T23:26:35","date_gmt":"2019-08-23T16:26:35","guid":{"rendered":"https:\/\/tino.vn\/?post_type=ht_kb&#038;p=1801"},"modified":"2020-02-14T15:47:28","modified_gmt":"2020-02-14T08:47:28","slug":"huong-dan-tao-swap-tren-vps-tai-tinohost","status":"publish","type":"ht_kb","link":"https:\/\/tino.vn\/blog\/docs\/huong-dan-tao-swap-tren-vps-tai-tinohost\/","title":{"rendered":"H\u01b0\u1edbng d\u1eabn t\u1ea1o swap tr\u00ean VPS t\u1ea1i TINOHOST"},"content":{"rendered":"<h3 id=\"\"><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/UqweACMgVmQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/h3>\n<h3 id=\"Gi\u1edbi_thi\u1ec7u\">Gi\u1edbi thi\u1ec7u<\/h3>\n<p><span class=\"\">M\u1ed9t trong nh\u1eefng c\u00e1ch d\u1ec5 nh\u1ea5t \u0111\u1ec3 b\u1ea3o v\u1ec7 ch\u1ed1ng l\u1ea1i l\u1ed7i h\u1ebft b\u1ed9 nh\u1edb trong c\u00e1c \u1ee9ng d\u1ee5ng l\u00e0 th\u00eam m\u1ed9t s\u1ed1 kh\u00f4ng gian swap v\u00e0o VPS c\u1ee7a b\u1ea1n. <\/span>Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang t\u00f4i s\u1ebd \u0111\u1ec1 c\u1eadp \u0111\u1ebfn c\u00e1ch th\u00eam t\u1ec7p swap v\u00e0o VPS c\u1ee7a b\u1ea1n.<\/p>\n<p><em><strong>C\u1ea3nh b\u00e1o:<\/strong> M\u1eb7c d\u00f9 vi\u1ec7c t\u1ea1o swap th\u01b0\u1eddng \u0111\u01b0\u1ee3c khuy\u1ebfn ngh\u1ecb cho c\u00e1c h\u1ec7 th\u1ed1ng s\u1eed d\u1ee5ng \u1ed5 c\u1ee9ng HDD, tuy nhi\u00ean v\u1edbi vi\u1ec7c t\u1ea1o swap\u00a0 tr\u00ean \u1ed5 c\u1ee9ng SSD c\u00f3 th\u1ec3 g\u00e2y ra s\u1ef1 c\u1ed1 v\u1edbi ph\u1ea7n c\u1ee9ng xu\u1ed1ng c\u1ea5p theo th\u1eddi gian. Do s\u1ef1 c\u00e2n nh\u1eafc n\u00e0y, ch\u00fang t\u00f4i kh\u00f4ng khuy\u00ean b\u1ea1n n\u00ean b\u1eadt swap tr\u00ean Tinohost ho\u1eb7c b\u1ea5t k\u1ef3 nh\u00e0 cung c\u1ea5p n\u00e0o kh\u00e1c s\u1eed d\u1ee5ng b\u1ed9 l\u01b0u tr\u1eef SSD. L\u00e0m nh\u01b0 v\u1eady c\u00f3 th\u1ec3 \u1ea3nh h\u01b0\u1edfng ph\u1ea7n c\u1ee9ng c\u01a1 b\u1ea3n cho b\u1ea1n v\u00e0 ng\u01b0\u1eddi d\u00f9ng kh\u00e1c.<\/em><\/p>\n<p><em>N\u1ebfu b\u1ea1n c\u1ea7n c\u1ea3i thi\u1ec7n hi\u1ec7u su\u1ea5t c\u1ee7a m\u00e1y ch\u1ee7 c\u1ee7a m\u00ecnh tr\u00ean Tinohost, ch\u00fang t\u00f4i khuy\u00ean b\u1ea1n n\u00ean n\u00e2ng c\u1ea5p Ram. \u0110i\u1ec1u n\u00e0y s\u1ebd d\u1eabn \u0111\u1ebfn k\u1ebft qu\u1ea3 t\u1ed1t h\u01a1n n\u00f3i chung v\u00e0 s\u1ebd l\u00e0m gi\u1ea3m kh\u1ea3 n\u0103ng \u1ea3nh h\u01b0\u1edfng cho c\u00e1c v\u1ea5n \u0111\u1ec1 ph\u1ea7n c\u1ee9ng c\u00f3 th\u1ec3 \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn d\u1ecbch v\u1ee5 c\u1ee7a b\u1ea1n. T\u1ed1t h\u01a1n b\u1ea1n n\u00ean h\u00e3y t\u1ed1i \u01b0u server, t\u0103ng cache v\u00e0 n\u00e2ng c\u1ea5p b\u1ed5 sung th\u00eam RAM v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng s\u1eed d\u1ee5ng SSD nh\u01b0 tinohost.<\/em><\/p>\n<div data-unique=\"what-is-swap\"><\/div>\n<h2 id=\"SWAP_l\u00e0_g\u00ec?\">SWAP l\u00e0 g\u00ec?<\/h2>\n<p><i>swap <\/i>l\u00e0 m\u1ed9t khu v\u1ef1c tr\u00ean \u1ed5 c\u1ee9ng \u0111\u00e3 \u0111\u01b0\u1ee3c ch\u1ec9 \u0111\u1ecbnh l\u00e0 n\u01a1i h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u00f3 th\u1ec3 l\u01b0u tr\u1eef t\u1ea1m th\u1eddi d\u1eef li\u1ec7u khi m\u00e0 b\u1ed9 l\u01b0u tr\u1eef RAM v\u1ec1 c\u01a1 b\u1ea3n \u0111\u00e3 b\u1ecb h\u1ec7 \u0111i\u1ec1u h\u00e0nh s\u1eed d\u1ee5ng h\u1ebft. V\u1ec1 c\u01a1 b\u1ea3n, \u0111i\u1ec1u n\u00e0y cung c\u1ea5p cho b\u1ea1n kh\u1ea3 n\u0103ng t\u0103ng l\u01b0\u1ee3ng th\u00f4ng tin m\u00e0 m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n c\u00f3 th\u1ec3 l\u01b0u trong b\u1ed9 nh\u1edb l\u00e0m vi\u1ec7c c\u1ee7a n\u00f3. Kh\u00f4ng gian swap tr\u00ean \u1ed5 c\u1ee9ng s\u1ebd \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng ch\u1ee7 y\u1ebfu khi kh\u00f4ng c\u00f2n \u0111\u1ee7 dung l\u01b0\u1ee3ng trong RAM \u0111\u1ec3 ch\u1ee9a d\u1eef li\u1ec7u \u1ee9ng d\u1ee5ng \u0111ang s\u1eed d\u1ee5ng.<\/p>\n<p>Th\u00f4ng tin ghi v\u00e0o \u0111\u0129a s\u1ebd ch\u1eadm h\u01a1n \u0111\u00e1ng k\u1ec3 so v\u1edbi th\u00f4ng tin \u0111\u01b0\u1ee3c l\u01b0u trong RAM, nh\u01b0ng h\u1ec7 \u0111i\u1ec1u h\u00e0nh s\u1ebd th\u00edch gi\u1eef d\u1eef li\u1ec7u \u1ee9ng d\u1ee5ng ch\u1ea1y trong b\u1ed9 nh\u1edb RAM v\u00e0 s\u1eed d\u1ee5ng swap cho d\u1eef li\u1ec7u c\u0169 h\u01a1n. Nh\u00ecn chung, vi\u1ec7c c\u00f3 kh\u00f4ng gian swap\u00a0 t\u00ednh nh\u01b0 m\u1ed9t d\u1ef1 ph\u00f2ng khi RAM c\u1ee7a h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n b\u1ecb c\u1ea1n ki\u1ec7t c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t m\u1ea1ng l\u01b0\u1edbi an to\u00e0n t\u1ed1t ch\u1ed1ng l\u1ea1i c\u00e1c ngo\u1ea1i l\u1ec7 ngo\u00e0i b\u1ed9 nh\u1edb tr\u00ean c\u00e1c h\u1ec7 th\u1ed1ng c\u00f3 b\u1ed9 nh\u1edb kh\u00f4ng c\u00f3 SSD.<\/p>\n<div data-unique=\"step-1-\u2013-checking-the-system-for-swap-information\">V\u1edbi c\u00e1c VPS d\u00f9ng c\u00f4ng ngh\u1ec7 \u1ea3o h\u00f3a OpenVZ, c\u00f3 th\u1ec3 b\u1ea1n s\u1ebd\u00a0<em>kh\u00f4ng t\u1ea1o \u0111\u01b0\u1ee3c swap<\/em>\u00a0do h\u1ec7 th\u1ed1ng \u0111\u00e3 t\u1ef1 \u0111\u1ed9ng k\u00edch ho\u1ea1t s\u1eb5n.<\/div>\n<div data-unique=\"step-1-\u2013-checking-the-system-for-swap-information\">V\u1edbi nh\u1eefng server kh\u00f4ng c\u00f3 swap, khi h\u1ebft RAM\u00a0 m\u1ed9t l\u1ed7i th\u01b0\u1eddng hay g\u1eb7p v\u1edbi h\u1ec7 th\u1ed1ng vps ch\u1ea1y web service th\u01b0\u1eddng t\u1ef1 \u0111\u1ed9ng stop service MySQL, do \u0111\u00f3 hay xu\u1ea5t hi\u1ec7n th\u00f4ng b\u00e1o l\u1ed7i <em>Establishing a Database Connection<\/em>.<\/div>\n<div data-unique=\"step-1-\u2013-checking-the-system-for-swap-information\"><\/div>\n<h2 id=\"B\u01b0\u1edbc_1_&#8211;_Ki\u1ec3m_tra_h\u1ec7_th\u1ed1ng_\u0111\u1ec3_bi\u1ebft_th\u00f4ng_tin_swap_tr\u00ean_VPS_c\u1ee7a_b\u1ea1n.\">B\u01b0\u1edbc 1 &#8211; Ki\u1ec3m tra h\u1ec7 th\u1ed1ng \u0111\u1ec3 bi\u1ebft th\u00f4ng tin swap tr\u00ean VPS c\u1ee7a b\u1ea1n.<\/h2>\n<p>Tr\u01b0\u1edbc khi b\u1eaft \u0111\u1ea7u, ch\u00fang ta ki\u1ec3m tra xem h\u1ec7 th\u1ed1ng \u0111\u00e3 c\u00f3 ph\u00e2n v\u00f9ng swap ch\u01b0a, b\u1ea1n C\u00f3 th\u1ec3 c\u00f3 nhi\u1ec1u ph\u00e2n v\u00f9ng swap, nh\u01b0ng n\u00f3i chung b\u1ea1n ch\u1ec9 c\u1ea7n 1 l\u00e0 \u0111\u1ee7.<\/p>\n<p>L\u1ec7nh ki\u1ec3m tra:<\/p>\n<pre><span style=\"background-color: #f5f8fa; font-family: Consolas, monaco, monospace;\">sudo swapon --show<\/span><\/pre>\n<p>ho\u1eb7c:<\/p>\n<pre>swapon -s<\/pre>\n<p>N\u1ebfu b\u1ea1n kh\u00f4ng nh\u1eadn l\u1ea1i b\u1ea5t k\u1ef3 k\u1ebft qu\u1ea3 n\u00e0o, \u0111i\u1ec1u n\u00e0y c\u00f3 ngh\u0129a l\u00e0 h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n ch\u01b0a c\u00f3 swap.<\/p>\n<p>B\u1ea1n c\u00f3 th\u1ec3 x\u00e1c minh l\u1ea1i b\u1eb1ng l\u1ec7nh <strong>free <\/strong>v\u1edbi c\u00fa ph\u00e1p nh\u01b0 sau:<\/p>\n<p><code><span style=\"background-color: #ffffff; color: #4b4d4d; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\">free -h<\/span><\/code><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">Output<\/div>\n<pre class=\"code-pre \"><code>             total       used       free     shared    buffers     cached\r\nMem:          1.0G       331M       668M       4.3M        11M       276M\r\n-\/+ buffers\/cache:        44M       955M\r\n<span class=\"highlight\">Swap:           0B         0B         0B<\/span>\r\n<\/code><\/pre>\n<p>Nh\u01b0 b\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y trong h\u00e0ng <strong>swap<\/strong> c\u1ee7a \u0111\u1ea7u ra, kh\u00f4ng c\u00f3 swap n\u00e0o \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t tr\u00ean h\u1ec7 th\u1ed1ng.<\/p>\n<div data-unique=\"step-2-\u2013-checking-available-space-on-the-hard-drive-partition\"><\/div>\n<h2 id=\"B\u01b0\u1edbc_2_&#8211;_Ki\u1ec3m_tra_dung_l\u01b0\u1ee3ng_tr\u1ed1ng_tr\u00ean_ph\u00e2n_v\u00f9ng_\u1ed5_c\u1ee9ng\">B\u01b0\u1edbc 2 &#8211; Ki\u1ec3m tra dung l\u01b0\u1ee3ng tr\u1ed1ng tr\u00ean ph\u00e2n v\u00f9ng \u1ed5 c\u1ee9ng<\/h2>\n<p>&nbsp;<\/p>\n<p>Tr\u01b0\u1edbc ti\u00ean ch\u00fang ta ki\u1ec3m tra dung l\u01b0\u1ee3ng \u0111\u0129a c\u00f2n tr\u1ed1ng b\u1eb1ng l\u1ec7nh:<\/p>\n<ul class=\"prefixed\">\n<li class=\"line\">df -h<\/li>\n<\/ul>\n<div class=\"secondary-code-label \" title=\"Output\">Output<\/div>\n<pre class=\"code-pre \"><code>Filesystem      Size  Used Avail Use% Mounted on\r\n\/dev\/vda1        25G  946M   23G   4% \/\r\nudev             10M     0   10M   0% \/dev\r\ntmpfs           201M  4.3M  196M   3% \/run\r\ntmpfs           501M     0  501M   0% \/dev\/shm\r\ntmpfs           5.0M     0  5.0M   0% \/run\/lock\r\ntmpfs           501M     0  501M   0% \/sys\/fs\/cgroup\r\ntmpfs           101M     0  101M   0% \/run\/user\/1001\r\n<\/code><\/pre>\n<p>T\u1ed5ng\u00a0 dung l\u01b0\u1ee3ng\u00a0 h\u1ec7\u00a0 th\u1ed1ng \u0111\u01b0\u1ee3c\u00a0 t\u00ednh\u00a0 t\u1ea1i\u00a0 ph\u00e2n\u00a0 v\u00f9ng.<code>\/<\/code>trong\u00a0<code>Mounted on<\/code><\/p>\n<p>Trong tr\u01b0\u1eddng h\u1ee3p tr\u00ean dung l\u01b0\u1ee3ng t\u00f4i m\u1edbi d\u00f9ng l\u00e0 946M tr\u00ean t\u1ed5ng 25GB dung l\u01b0\u1ee3ng \u1ed5 \u0111\u0129a.<\/p>\n<p>M\u1eb7c d\u00f9 c\u00f3 nhi\u1ec1u \u00fd ki\u1ebfn \u0111\u1ed1i v\u1edbi k\u00edch th\u01b0\u1edbc ph\u00f9 h\u1ee3p c\u1ee7a ph\u00e2n v\u00f9ng swap, n\u00f3 th\u1ef1c s\u1ef1 ph\u1ee5 thu\u1ed9c v\u00e0o s\u1edf th\u00edch c\u00e1 nh\u00e2n v\u00e0 y\u00eau c\u1ea7u \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n. N\u00f3i chung t\u00f4i khuy\u00ean b\u1ea1n n\u00ean c\u00f3 dung l\u01b0\u1ee3ng b\u1eb1ng ho\u1eb7c g\u1ea5p \u0111\u00f4i dung l\u01b0\u1ee3ng ram tr\u00ean h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n, m\u1eb7t kh\u00e1c th\u00ec th\u1ef1c t\u1ebf dung l\u01b0\u1ee3ng tr\u00ean 4GB l\u00e0 c\u00f3 th\u1ec3 kh\u00f4ng c\u1ea7n thi\u1ebft n\u1ebfu b\u1ea1n ch\u1ec9 s\u1eed d\u1ee5ng swap v\u1edbi m\u1ee5c \u0111\u00edch d\u1ef1 ph\u00f2ng cho RAM.<\/p>\n<div data-unique=\"step-3-\u2013-creating-a-swap-file\"><\/div>\n<h2 id=\"B\u01b0\u1edbc_3_&#8211;_T\u1ea1o_ph\u00e2n_v\u00f9ng_swap.\">B\u01b0\u1edbc 3 &#8211; T\u1ea1o ph\u00e2n v\u00f9ng swap.<\/h2>\n<p>B\u00e2y gi\u1edd ch\u00fang ta \u0111\u00e3 bi\u1ebft dung l\u01b0\u1ee3ng \u1ed5 c\u1ee9ng c\u00f3 s\u1eb5n, ch\u00fang ta c\u00f3 th\u1ec3 t\u1ea1o 1 ph\u00e2n v\u00f9ng swap tr\u00ean h\u1ec7 th\u1ed1ng \u1ed5 \u0111\u0129a c\u1ee7a b\u1ea1n. T\u00f4i s\u1ebd t\u1ea1o 1 ph\u00e2n v\u00f9ng swap c\u00f3 t\u00ean nh\u01b0 sau:<\/p>\n<p><code>swapfile<\/code><\/p>\n<p>T\u1ec7p n\u00e0y s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u t\u1ea1i th\u01b0 m\u1ee5c g\u1ed1c (\/). V\u00e0 c\u00f3 2 c\u00e1ch \u0111\u1ec3 t\u1ea1o ph\u00e2n v\u00f9ng n\u00e0y.<\/p>\n<h3 id=\"C\u00e1ch_Th\u00f4ng_th\u01b0\u1eddng.\">C\u00e1ch Th\u00f4ng th\u01b0\u1eddng.<\/h3>\n<p>Theo \u0111\u01a1n gi\u1ea3n, ta t\u1ea1o m\u1ed9t t\u1ec7p \u0111\u01b0\u1ee3c ph\u00e2n chia b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng l\u1ec7nh:<code>dd<\/code><\/p>\n<p>File \u0111\u1eb7t t\u1ea1i:<\/p>\n<p><code><\/code><code>\/dev\/zero<\/code><\/p>\n<p>V\u00ed d\u1ee5, t\u00f4i c\u1ea7n t\u1ea1o 1 file swap v\u1edbi dung l\u01b0\u1ee3ng l\u00e0 1GB, v\u1edbi 1024 block v\u00e0 m\u1ed7i block l\u00e0 1MB, t\u00f4i s\u1eed d\u1ee5ng l\u1ec7nh sau.<\/p>\n<p><strong>sudo dd if=\/dev\/zero of=\/swapfile bs=1M count=1024 <\/strong><\/p>\n<div title=\"Output\">N\u1ebfu b\u1ea1n mu\u1ed1n t\u1ea1o file 2GB b\u1ea1n s\u1eed d\u1ee5ng l\u1ec7nh:<\/div>\n<div title=\"Output\"><strong><code>sudo dd if=\/dev\/zero of=\/swapfile bs=1M count=2048<\/code><\/strong><\/div>\n<div class=\"secondary-code-label \" title=\"Output\">K\u1ebft qu\u1ea3:<\/div>\n<pre class=\"code-pre \"><code>1024+0 records in\r\n1024+0 records out\r\n1073741824 bytes (1.1 GB) copied, 1.36622 s, 786 MB\/s\r\n<\/code><\/pre>\n<p>Ch\u00fang ta c\u00f3 th\u1ec3 th\u1ea5y r\u1eb1ng 1 Gigabyte \u0111\u00e3 \u0111\u01b0\u1ee3c ph\u00e2n b\u1ed5 b\u1eb1ng c\u00e1ch g\u00f5:<\/p>\n<p><strong>ls -lh \/swapfile <\/strong><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">k\u1ebft qu\u1ea3.<\/div>\n<p><strong><code>-rw-r--r-- 1 root root <span class=\"highlight\">1.0G<\/span> May 30 15:07 \/swapfile<br \/>\n<\/code><\/strong><\/p>\n<p>B\u1ea1n c\u00f3 th\u1ec3 c\u00f3 c\u00e1ch t\u1ea1o ph\u00e2n v\u00f9ng (file) swap n\u00e0y nhanh h\u01a1n b\u1eb1ng c\u00e1ch kh\u00e1c, tr\u01b0\u1edbc ti\u00ean b\u1ea1n c\u00f3 th\u1ec3 xo\u00e1 file swap n\u00e0y b\u1eb1ng l\u1ec7nh:<\/p>\n<p><code>sudo rm \/swapfile<\/code>, sau \u0111\u00f3 l\u00e0m theo b\u00ean d\u01b0\u1edbi:<\/p>\n<h3 id=\"C\u00e1ch_nhanh_h\u01a1n.\">C\u00e1ch nhanh h\u01a1n.<\/h3>\n<p>C\u00e1ch nhanh h\u01a1n \u0111\u1ec3 c\u00f3 \u0111\u01b0\u1ee3c m\u1ed9t t\u1ec7p l\u00e0 s\u1eed d\u1ee5ng\u00a0 ch\u01b0\u01a1ng\u00a0 tr\u00ecnh:<code>fallocate<\/code>L\u01b0u \u00fd r\u1eb1ng l\u1ec7nh n\u00e0y ch\u1ec9 ho\u1ea1t \u0111\u1ed9ng v\u1edbi c\u00e1c h\u1ec7 th\u1ed1ng t\u1ec7p hi\u1ec7n \u0111\u1ea1i h\u01a1n, v\u00ec v\u1eady, n\u1ebfu b\u1ea1n \u0111ang s\u1eed d\u1ee5ng m\u1ed9t\u00a0 h\u1ec7\u00a0 th\u1ed1ng\u00a0 \u00a0gi\u1ea3\u00a0 nh\u01b0: \u00a0<code>ext3<\/code>t\u00f9y ch\u1ecdn n\u00e0y kh\u00f4ng c\u00f3 s\u1eb5n cho b\u1ea1n.<\/p>\n<p>V\u1edbi: <code>fallocate<\/code><\/p>\n<p>L\u1ec7nh s\u1ebd t\u1ea1o ra file nhanh ch\u00f3ng v\u1edbi k\u00edch th\u01b0\u1edbc preallocated, kh\u00f4ng c\u1ea7n ph\u1ea3i `write dummy contents` gi\u1ed1ng nh\u01b0 l\u00e0<strong> dd<\/strong>.<\/p>\n<p><span class=\"\">Ta c\u00f3 th\u1ec3 t\u1ea1o file swap 1GB b\u1eb1ng l\u1ec7nh:<\/span><\/p>\n<p><strong><code>sudo fallocate -l 1G \/swapfile<br \/>\n<\/code><\/strong><\/p>\n<p>K\u1ebft qu\u1ea3 s\u1ebd hi\u1ec7n ra ngay l\u1eadp t\u1ee9c. B\u1ea1n c\u00f3 th\u1ec3 ki\u1ec3m tra l\u1ea1i dung l\u01b0\u1ee3ng file swap b\u1eb1ng l\u1ec7nh:<\/p>\n<p><strong>ls -lh \/swapfile<\/strong><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">k\u1ebft qu\u1ea3:<\/div>\n<p><strong><code>-rw-r--r-- 1 root root <span class=\"highlight\">1.0G<\/span> May 30 15:07 \/swapfile<br \/>\n<\/code><\/strong><\/p>\n<p>Nh\u01b0 v\u1eady b\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y b\u1eb1ng c\u1ea3 1 trong 2 c\u00e1ch b\u1ea1n \u0111\u00e3 t\u1ea1o \u0111\u01b0\u1ee3c file swap th\u00e0nh c\u00f4ng.<\/p>\n<div data-unique=\"step-4-\u2013-enabling-the-swap-file\"><\/div>\n<h2 id=\"B\u01b0\u1edbc_4_&#8211;_k\u00edch_ho\u1ea1t_ph\u00e2n_v\u00f9ng_swap.\">B\u01b0\u1edbc 4 &#8211; k\u00edch ho\u1ea1t ph\u00e2n v\u00f9ng swap.<\/h2>\n<p>B\u00e2y gi\u1edd b\u1ea1n \u0111\u00e3 c\u00f3 1 file\u00a0<strong>swapfile,\u00a0<\/strong>b\u1ea1n c\u1ea7n ph\u1ea3i k\u00edch ho\u1ea1t n\u00f3 th\u00e0nh ph\u00e2n v\u00f9ng <strong>swap<\/strong>.<\/p>\n<p>Tr\u01b0\u1edbc ti\u00ean b\u1ea1n c\u1ea7n ph\u00e2n quy\u1ec1n l\u1ea1i cho file <strong>swapfile, <\/strong>ch\u1ec9 cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng root m\u1edbi c\u00f3 quy\u1ec1n th\u1ef1c thi tr\u00ean t\u1ec7p n\u00e0y,\u00a0\u0111i\u1ec1u n\u00e0y c\u00f3 \u00fd ngh\u0129a b\u1ea3o m\u1eadt quan tr\u1ecdng.<\/p>\n<p>b\u1ea1n s\u1eed d\u1ee5ng l\u1ec7nh sau \u0111\u1ec3 ph\u00e2n quy\u1ec1n:<\/p>\n<p><strong>sudo chmod 600 \/swapfile <\/strong><\/p>\n<p>xem l\u1ea1i quy\u1ec1n c\u1ee7a file b\u1eb1ng l\u1ec7nh:<\/p>\n<p><strong>ls -lh \/swapfile <\/strong><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">k\u1ebft qu\u1ea3:<\/div>\n<p><strong><code><span class=\"highlight\">-rw-------<\/span> 1 root root 1.0G May 29 17:34 \/swapfile<br \/>\n<\/code><\/strong><\/p>\n<p>Nh\u01b0 b\u1ea1n c\u00f3 th\u1ec3 th\u1ea5y, ch\u1ec9\u00a0ng\u01b0\u1eddi d\u00f9ng\u00a0<strong>root m\u1edbi<\/strong>\u00a0c\u00f3 c\u1edd \u0111\u1ecdc v\u00e0 ghi.<\/p>\n<p>B\u00e2y gi\u1edd ch\u00fang ta c\u00f3 th\u1ec3 \u0111\u00e1nh d\u1ea5u file <strong>swapfile<\/strong> l\u00e0 kh\u00f4ng gian swap b\u1eb1ng c\u00e1ch g\u00f5:<\/p>\n<p><strong>sudo mkswap \/swapfile <\/strong><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">k\u1ebft qu\u1ea3:<\/div>\n<pre class=\"code-pre \"><code>Setting up swapspace version 1, size = 1048572 KiB\r\nno label, UUID=757ee0b7-db04-46bd-aafb-adf6954ea077\r\n<\/code><\/pre>\n<p>Sau khi \u0111\u00e1nh d\u1ea5u file, Ta c\u00f3 th\u1ec3 k\u00edch ho\u1ea1t swap cho ph\u00e9p h\u1ec7 th\u1ed1ng c\u1ee7a ch\u00fang ta b\u1eaft \u0111\u1ea7u s\u1eed d\u1ee5ng file n\u00e0y:<\/p>\n<p><strong>sudo swapon \/swapfile <\/strong><\/p>\n<p>Ki\u1ec3m tra l\u1ea1i swap \u0111\u00e3 k\u00edch ho\u1ea1t r\u1ed3i b\u1eb1ng l\u1ec7nh:<\/p>\n<p><strong>sudo swapon &#8211;show <\/strong><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">k\u1ebft qu\u1ea3:<\/div>\n<pre class=\"code-pre \"><code>NAME      TYPE  SIZE USED PRIO\r\n\/swapfile file 1024M   0B   -1\r\n<\/code><\/pre>\n<p>Ta ki\u1ec3m tra \u0111\u1ea7u ra c\u1ee7a th\u01b0 vi\u1ec7n free b\u1eb1ng c\u00e1ch g\u00f5<strong><code><span style=\"background-color: #ffffff; color: #4b4d4d; font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;\">free -h<\/span><\/code><\/strong><\/p>\n<div class=\"secondary-code-label \" title=\"Output\">k\u1ebft qu\u1ea3:<\/div>\n<pre class=\"code-pre \"><code>             total       used       free     shared    buffers     cached\r\nMem:          1.0G       925M        74M       4.3M        13M       848M\r\n-\/+ buffers\/cache:        63M       936M\r\n<span class=\"highlight\">Swap:         1.0G         0B       1.0G<\/span>\r\n<\/code><\/pre>\n<p>\u2013 Thi\u1ebft l\u1eadp swap t\u1ef1 \u0111\u1ed9ng \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t\u00a0m\u1ed7i khi reboot<\/p>\n<p><strong>echo \/swapfile none swap defaults 0 0 &gt;&gt; \/etc\/fstab<\/strong><\/p>\n<div data-unique=\"step-6-\u2013-tuning-your-swap-settings\">Nh\u01b0 v\u1eady l\u00e0 b\u1ea1n \u0111\u00e3 k\u00edch ho\u1ea1t th\u00e0nh c\u00f4ng swap v\u00e0 h\u1ec7 \u0111i\u1ec1u h\u00e0nh s\u1ebd s\u1eed d\u1ee5ng khi c\u1ea7n thi\u1ebft.<\/div>\n<div data-unique=\"step-6-\u2013-tuning-your-swap-settings\"><\/div>\n<h2 id=\"B\u01b0\u1edbc_5_&#8211;_\u0110i\u1ec1u_ch\u1ec9nh_c\u00e0i_\u0111\u1eb7t_swap_c\u1ee7a_b\u1ea1n\">B\u01b0\u1edbc 5 &#8211; \u0110i\u1ec1u ch\u1ec9nh c\u00e0i \u0111\u1eb7t swap c\u1ee7a b\u1ea1n<\/h2>\n<p>C\u00f3 m\u1ed9t v\u00e0i t\u00f9y ch\u1ecdn m\u00e0 b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecbnh c\u1ea5u h\u00ecnh s\u1ebd c\u00f3 t\u00e1c \u0111\u1ed9ng \u0111\u1ebfn hi\u1ec7u su\u1ea5t h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n khi x\u1eed l\u00fd trao \u0111\u1ed5i.<\/p>\n<div data-unique=\"conclusion\">\n<p>Swappiness l\u00e0 m\u1ee9c \u0111\u1ed9 \u01b0u ti\u00ean s\u1eed d\u1ee5ng swap, khi l\u01b0\u1ee3ng RAM c\u00f2n l\u1ea1i b\u1eb1ng gi\u00e1 tr\u1ecb c\u1ee7a swappiness (t\u00ednh theo t\u1ef7 l\u1ec7 ph\u1ea7n tr\u0103m) th\u00ec swap s\u1ebd \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng. Swappiness c\u00f3 gi\u00e1 tr\u1ecb trong kho\u1ea3ng 0 \u2013 100.<\/p>\n<ul>\n<li>swappiness = 0: swap ch\u1ec9 \u0111\u01b0\u1ee3c d\u00f9ng\u00a0khi RAM \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng h\u1ebft.<\/li>\n<li>swappiness = 10: swap \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng khi RAM c\u00f2n 10%.<\/li>\n<li>swappiness = 60: swap \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng khi RAM c\u00f2n 60%.<\/li>\n<li>swappiness = 100: swap \u0111\u01b0\u1ee3c \u01b0u ti\u00ean nh\u01b0 l\u00e0 RAM.<\/li>\n<\/ul>\n<p>Do t\u1ed1c \u0111\u1ed9 x\u1eed l\u00fd d\u1eef li\u1ec7u tr\u00ean RAM cao h\u01a1n nhi\u1ec1u so v\u1edbi Swap, do \u0111\u00f3 b\u1ea1n n\u00ean \u0111\u1eb7t gi\u00e1 tr\u1ecb n\u00e0y v\u1ec1 g\u1ea7n v\u1edbi 0 \u0111\u1ec3 t\u1eadn d\u1ee5ng t\u1ed1i \u0111a s\u1ee9c m\u1ea1nh h\u1ec7 th\u1ed1ng. T\u1ed1t nh\u1ea5t n\u00ean ch\u1ec9nh v\u1ec1 10.<\/p>\n<p>\u2013 Ki\u1ec3m tra m\u1ee9c \u0111\u1ed9 s\u1eed d\u1ee5ng file swap c\u1ee7a h\u1ec7 th\u1ed1ng b\u1eb1ng c\u00e1ch ch\u1ea1y d\u00f2ng l\u1ec7nh sau<\/p>\n<pre>cat \/proc\/sys\/vm\/swappiness<\/pre>\n<p>\u2013 Ch\u1ec9nh th\u00f4ng s\u1ed1 swappiness b\u1eb1ng c\u00e1ch d\u00f9ng l\u1ec7nh\u00a0<code>sysctl<\/code><\/p>\n<pre>sysctl vm.swappiness=10<\/pre>\n<p>\u2013 Ki\u1ec3m tra l\u1ea1i b\u1ea1n s\u1ebd th\u1ea5y k\u1ebft qu\u1ea3 tr\u1ea3 v\u1ec1 10<\/p>\n<pre>cat \/proc\/sys\/vm\/swappiness<\/pre>\n<p>\u0110\u1ec3 \u0111\u1ea3m b\u1ea3o gi\u1eef nguy\u00ean th\u00f4ng s\u1ed1 n\u00e0y m\u1ed7i khi kh\u1edfi \u0111\u1ed9ng l\u1ea1i VPS b\u1ea1n c\u1ea7n \u0111i\u1ec1u ch\u1ec9nh tham s\u1ed1\u00a0<code>vm.swappiness<\/code>\u00a0\u1edf\u00a0cu\u1ed1i file\u00a0<code>\/etc\/sysctl.conf<\/code>\u00a0(n\u1ebfu kh\u00f4ng c\u00f3 b\u1ea1n h\u00e3y add th\u1ee7 c\u00f4ng v\u00e0o)<\/p>\n<pre>nano \/etc\/sysctl.conf<\/pre>\n<p>Th\u00eam d\u00f2ng sau v\u00e0o cu\u1ed1i n\u1ebfu ch\u01b0a c\u00f3, n\u1ebfu c\u00f3 r\u1ed3i th\u00ec update l\u1ea1i gi\u00e1 tr\u1ecb:<\/p>\n<pre>vm.swappiness = 10<\/pre>\n<\/div>\n<p>\u2013 Kh\u1edfi \u0111\u1ed9ng l\u1ea1i VPS v\u00e0 ki\u1ec3m tra l\u1ea1i k\u1ebft qu\u1ea3:<\/p>\n<pre>swapon -s\r\ncat \/proc\/sys\/vm\/swappiness<\/pre>\n<p><strong>L\u01b0u \u00fd<\/strong><\/p>\n<p>\u2013 V\u1edbi\u00a0<strong>CentOS 7.2<\/strong>\u00a0c\u00f3 th\u1ec3 tune profile s\u1ebd overwrite\u00a0<code>vm.swappiness<\/code>\u00a0m\u1ed7i l\u1ea7n reboot, b\u1ea1n c\u1ea7n ki\u1ec3m tra profile n\u00e0o \u0111ang overwrite \u0111\u1ec3 c\u1ea5u h\u00ecnh l\u1ea1i th\u1ee7 c\u00f4ng.<\/p>\n<pre>grep vm.swappiness \/usr\/lib\/tuned\/*\/tuned.conf<\/pre>\n<p>Output c\u00f3 th\u1ec3 nh\u01b0 sau:<\/p>\n<pre>[root@hocvps ~]# grep vm.swappiness \/usr\/lib\/tuned\/*\/tuned.conf\r\n\/usr\/lib\/tuned\/latency-performance\/tuned.conf:vm.swappiness=10\r\n\/usr\/lib\/tuned\/throughput-performance\/tuned.conf:vm.swappiness=10\r\n\/usr\/lib\/tuned\/virtual-guest\/tuned.conf:vm.swappiness = 30<\/pre>\n<p>L\u00fac n\u00e0y, b\u1ea1n h\u00e3y m\u1edf file\u00a0<code>\/usr\/lib\/tuned\/virtual-guest\/tuned.conf<\/code>, t\u00ecm\u00a0<code>vm.swappiness<\/code>\u00a0v\u00e0 thay \u0111\u1ed5i\u00a0<code>vm.swappiness = 30<\/code>\u00a0th\u00e0nh\u00a0<code>vm.swappiness = 10<\/code>.<\/p>\n<pre>nano\u00a0\/usr\/lib\/tuned\/virtual-guest\/tuned.conf<\/pre>\n<p>Nh\u1ea5n Ctrl + O \u0111\u1ec3 l\u01b0u, Enter v\u00e0 Ctrl + X \u0111\u1ec3 tho\u00e1t.<\/p>\n<p>Kh\u1edfi \u0111\u1ed9ng l\u1ea1i VPS v\u00e0 ki\u1ec3m tra l\u1ea1i k\u1ebft qu\u1ea3.<\/p>\n<h2 id=\"Thay_\u0111\u1ed5i_dung_l\u01b0\u1ee3ng_swap\">Thay \u0111\u1ed5i dung l\u01b0\u1ee3ng swap<\/h2>\n<p>N\u1ebfu b\u1ea1n \u0111\u00e3 theo c\u00e1c h\u01b0\u1edbng d\u1eabn tr\u00ean \u0111\u1ec3 t\u1ea1o swap file v\u00e0 mu\u1ed1n thay \u0111\u1ed5i dung l\u01b0\u1ee3ng swap, h\u00e3y th\u1ef1c hi\u1ec7n ng\u01b0\u1ee3c l\u1ea1i qu\u00e1 tr\u00ecnh.<\/p>\n<p>\u2013 T\u1eaft swap<\/p>\n<pre>swapoff \/swapfile<\/pre>\n<p>\u2013 X\u00f3a file swap<\/p>\n<pre>rm -f \/swapfile<\/pre>\n<p>\u2013 T\u1ea1o m\u1edbi file swap v\u1edbi dung l\u01b0\u1ee3ng mong mu\u1ed1n. V\u00ed d\u1ee5 m\u00ecnh t\u1ea1o 2GB (2048k)<\/p>\n<pre>sudo dd if=\/dev\/zero of=\/swapfile bs=1024 count=2048k<\/pre>\n<p>\u2013 T\u1ea1o ph\u00e2n v\u00f9ng swap<\/p>\n<pre>mkswap \/swapfile<\/pre>\n<p>\u2013 K\u00edch ho\u1ea1t swap<\/p>\n<pre>swapon \/swapfile<\/pre>\n<p>\u2013 B\u1ea3o m\u1eadt file swap b\u1eb1ng c\u00e1ch chmod<\/p>\n<pre>chown root:root \/swapfile \r\nchmod 0600 \/swapfile<\/pre>\n<p>\u2013 Ki\u1ec3m tra l\u1ea1i t\u00ecnh tr\u1ea1ng swap<\/p>\n<pre>swapon -s<\/pre>\n<p>Khi thay \u0111\u1ed5i dung l\u01b0\u1ee3ng swap, c\u00e1c c\u00e0i \u0111\u1eb7t t\u1eeb tr\u01b0\u1edbc nh\u01b0 t\u1ef1 \u0111\u1ed9ng k\u00edch ho\u1ea1t khi server reboot, th\u00f4ng s\u1ed1\u00a0Swappiness \u0111\u01b0\u1ee3c gi\u1eef nguy\u00ean n\u00ean b\u1ea1n kh\u00f4ng c\u1ea7n ph\u1ea3i thao t\u00e1c g\u00ec th\u00eam.<\/p>\n<p>Gi\u1edd kh\u1edfi \u0111\u1ed9ng l\u1ea1i server r\u1ed3i ki\u1ec3m tra l\u1ea1i k\u1ebft qu\u1ea3 th\u00f4i.<\/p>\n<h2 id=\"Ph\u1ea7n_k\u1ebft_lu\u1eadn\">Ph\u1ea7n k\u1ebft lu\u1eadn<\/h2>\n<p>T\u1ed5ng h\u1ee3p th\u1ee9 t\u1ef1 c\u00e1c l\u1ec7nh b\u1ea1n c\u1ea7n s\u1eed d\u1ee5ng \u0111\u1ec3 t\u1ea1o 1 swap 1GB cho vps c\u1ee7a b\u1ea1n:<\/p>\n<p>T\u1ea1o file swapfile:<\/p>\n<p><strong><code>sudo fallocate -l 1G \/swapfile<br \/>\nho\u1eb7c<br \/>\nsudo dd if=\/dev\/zero of=\/swapfile bs=1M count=1024<\/code><\/strong><\/p>\n<p>Ph\u00e2n quy\u1ec1n file swapfile:<\/p>\n<p><strong>sudo chmod 600 \/swapfile<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>\u0110\u00e1nh d\u1ea5u v\u00e0 k\u00edch ho\u1ea1t swapfile:<\/p>\n<p><strong>sudo mkswap \/swapfile<\/strong><\/p>\n<pre><\/pre>\n<p><strong>sudo swapon \/swapfile<\/strong><\/p>\n<p>\u2013 Thi\u1ebft l\u1eadp swap t\u1ef1 \u0111\u1ed9ng \u0111\u01b0\u1ee3c k\u00edch ho\u1ea1t\u00a0m\u1ed7i khi reboot<\/p>\n<p><strong>echo \/swapfile none swap defaults 0 0 &gt;&gt; \/etc\/fstab<\/strong><\/p>\n<p>Th\u1ef1c hi\u1ec7n theo c\u00e1c b\u01b0\u1edbc trong h\u01b0\u1edbng d\u1eabn n\u00e0y s\u1ebd cung c\u1ea5p cho b\u1ea1n bi\u1ec7n ph\u00e1p <strong>ph\u00f2ng h\u1edd<\/strong> trong tr\u01b0\u1eddng h\u1ee3p c\u00f3 th\u1ec3 d\u1eabn \u0111\u1ebfn ngo\u1ea1i l\u1ec7 ngo\u00e0i b\u1ed9 nh\u1edb. Kh\u00f4ng gian swap c\u00f3 th\u1ec3 c\u1ef1c k\u1ef3 h\u1eefu \u00edch trong vi\u1ec7c tr\u00e1nh m\u1ed9t s\u1ed1 v\u1ea5n \u0111\u1ec1 ph\u1ed5 bi\u1ebfn ch\u1eb3ng h\u1ea1n nh\u01b0 kill mysql, httpd v\u1edbi c\u00e1c web service.<\/p>\n<p>N\u1ebfu b\u1ea1n \u0111ang g\u1eb7p ph\u1ea3i l\u1ed7i OOM (h\u1ebft b\u1ed9 nh\u1edb) ho\u1eb7c n\u1ebfu b\u1ea1n th\u1ea5y r\u1eb1ng h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n kh\u00f4ng th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c \u1ee9ng d\u1ee5ng b\u1ea1n c\u1ea7n, gi\u1ea3i ph\u00e1p t\u1ed1t nh\u1ea5t l\u00e0 t\u1ed1i \u01b0u h\u00f3a c\u1ea5u h\u00ecnh \u1ee9ng d\u1ee5ng ho\u1eb7c n\u00e2ng c\u1ea5p m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n, swap l\u00e0 m\u1ed9t bi\u1ec7n ph\u00e1p ph\u00f2ng h\u1edd kh\u00f4ng ph\u1ea3i \u0111\u1ec3 gi\u1ea3i quy\u1ebft v\u1ea5n \u0111\u1ec1 cho \u1ee9ng d\u1ee5ng, d\u1ecbch v\u1ee5.<\/p>\n<p>Ch\u00fac c\u00e1c b\u1ea1n th\u00e0nh c\u00f4ng.!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gi\u1edbi thi\u1ec7u M\u1ed9t trong nh\u1eefng c\u00e1ch d\u1ec5 nh\u1ea5t \u0111\u1ec3 b\u1ea3o v\u1ec7 ch\u1ed1ng l\u1ea1i l\u1ed7i h\u1ebft b\u1ed9 nh\u1edb trong c\u00e1c \u1ee9ng d\u1ee5ng l\u00e0 th\u00eam m\u1ed9t s\u1ed1 kh\u00f4ng gian swap v\u00e0o VPS c\u1ee7a b\u1ea1n. Trong h\u01b0\u1edbng d\u1eabn n\u00e0y, ch\u00fang t\u00f4i s\u1ebd \u0111\u1ec1 c\u1eadp \u0111\u1ebfn c\u00e1ch th\u00eam t\u1ec7p swap v\u00e0o VPS c\u1ee7a b\u1ea1n. C\u1ea3nh b\u00e1o: M\u1eb7c d\u00f9 vi\u1ec7c [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":16424,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"tags":[],"ht_kb_category":[17],"class_list":["post-1801","ht_kb","type-ht_kb","status-publish","format-standard","has-post-thumbnail","hentry","ht_kb_category-huong-dan-ve-cloud-vps"],"_links":{"self":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/1801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/comments?post=1801"}],"version-history":[{"count":0,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb\/1801\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media\/16424"}],"wp:attachment":[{"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/media?parent=1801"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/tags?post=1801"},{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/tino.vn\/blog\/wp-json\/wp\/v2\/ht_kb_category?post=1801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}