Swap là khái niệm bộ nhớ ảo được sử dụng trên hệ điều hành Linux. Khi VPS/Server hoạt động, nếu hết RAM hệ thống sẽ tự động sử dụng một phần ổ cứng để làm bộ nhớ cho các ứng dụng hoạt động.

Với những server không có swap, khi hết RAM hệ thống thường tự động stop service MySQL, do đó hay xuất hiện thông báo lỗi Establishing a Database Connection.

Do sử dụng ổ cứng có tốc độ chậm hơn RAM, nhất là với những server dùng ổ cứng thường không dùng SSD, do đó không nên thường xuyên sử dụng Swap sẽ làm giảm hiệu năng hệ thống. Nếu tình trạng hết RAM hay xảy ra, bạn hãy tối ưu server, tăng cache và nâng cấp bổ sung thêm RAM.

Với các VPS dùng công nghệ ảo hóa OpenVZ, có thể bạn sẽ không tạo được swap do hệ thống đã tự động kích hoạt sẵn.

Hướng dẫn tạo Swap

Áp dụng được cả trên CentOSUbuntu.

1. Kiểm tra swap

Trước khi tiến hành tạo file swap cần kiểm tra xem hiện tại hệ thống đã kích hoạt swap hay chưa bằng cách chạy:

swapon -s

Nếu không có thông tin gì hoặc trả về như hình dưới chứng tỏ server chưa có swap và bạn có thể tạo.

Swap chua duoc tao

2. Kiểm tra dung lượng trống

Sử dụng lệnh df -h để kiểm tra dung lượng trống. Còn 13GB, vẫn thoải mái để tạo swap:

Kiem tra dung luong trong

3. Tạo swap

– Chạy lệnh dd. Ở đây mình tạo 1GB swap (count=1024k) cho VPS 768MB RAM

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

Lệnh trên sẽ tạo swap có dung lượng 1Gb. Bạn có thể thay count=1024k bằng count=2048k… để tạo swap dung lượng 2Gb. Dung lượng Swap tối đa chỉ nên gấp đôi RAM vật lý.

Tao swap

– Tạo phân vùng swap

mkswap /swapfile

Tao phan vung Swap

– Kích hoạt swap

swapon /swapfile

Đoạn này có thể gặp thông báo warning insecure permissions 0644, không sao cả bạn cứ bỏ qua. Chúng ta sẽ chỉnh lại ở bước sau.

– Kiểm tra lại tình trạng swap bạn sẽ thấy như sau:

swapon -s

Kiem tra lai Swap

– Thiết lập swap tự động được kích hoạt mỗi khi reboot

echo /swapfile none swap defaults 0 0 >> /etc/fstab

– Bảo mật file swap bằng cách chmod

chown root:root /swapfile 
chmod 0600 /swapfile

4. Cấu hình Swappiness

Swappiness là mức độ ưu tiên sử dụng swap, khi lượng RAM còn lại bằng giá trị của swappiness (tính theo tỷ lệ phần trăm) thì swap sẽ được sử dụng. Swappiness có giá trị trong khoảng 0 – 100.

  • swappiness = 0: swap chỉ được dùng khi RAM được sử dụng hết.
  • swappiness = 10: swap được sử dụng khi RAM còn 10%.
  • swappiness = 60: swap được sử dụng khi RAM còn 60%.
  • swappiness = 100: swap được ưu tiên như là RAM.

Do tốc độ xử lý dữ liệu trên RAM cao hơn nhiều so với Swap, do đó bạn nên đặt giá trị này về gần với 0 để tận dụng tối đa sức mạnh hệ thống. Tốt nhất nên chỉnh về 10.

– Kiểm tra mức độ sử dụng file swap của hệ thống bằng cách chạy dòng lệnh sau

cat /proc/sys/vm/swappiness

– Chỉnh thông số swappiness bằng cách dùng lệnh sysctl

sysctl vm.swappiness=10

– Kiểm tra lại bạn sẽ thấy kết quả trả về 10

cat /proc/sys/vm/swappiness

Để đảm bảo giữ nguyên thông số này mỗi khi khởi động lại VPS bạn cần điều chỉnh tham số vm.swappiness ở cuối file /etc/sysctl.conf (nếu không có bạn hãy add thủ công vào)

nano /etc/sysctl.conf

Thêm dòng sau vào cuối nếu chưa có, nếu có rồi thì update lại giá trị:

vm.swappiness = 10

Dieu chinh swappiness

Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.

– Khởi động lại VPS và kiểm tra lại kết quả:

swapon -s
cat /proc/sys/vm/swappiness

Kiem tra ket qua

Lưu ý

– Với CentOS 7.2 có thể tune profile sẽ overwrite vm.swappiness mỗi lần reboot, bạn cần kiểm tra profile nào đang overwrite để cấu hình lại thủ công.

grep vm.swappiness /usr/lib/tuned/*/tuned.conf

Output có thể như sau:

[root@hocvps ~]# grep vm.swappiness /usr/lib/tuned/*/tuned.conf
/usr/lib/tuned/latency-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/throughput-performance/tuned.conf:vm.swappiness=10
/usr/lib/tuned/virtual-guest/tuned.conf:vm.swappiness = 30

Lúc này, bạn hãy mở file /usr/lib/tuned/virtual-guest/tuned.conf, tìm vm.swappiness và thay đổi vm.swappiness = 30 thành vm.swappiness = 10.

nano /usr/lib/tuned/virtual-guest/tuned.conf

Nhấn Ctrl + O để lưu, Enter và Ctrl + X để thoát.

Khởi động lại VPS và kiểm tra lại kết quả.

Thay đổi dung lượng swap

Nếu bạn đã theo các hướng dẫn trên để tạo swap file và muốn thay đổi dung lượng swap, hãy thực hiện ngược lại quá trình.

– Tắt swap

swapoff /swapfile

– Xóa file swap

rm -f /swapfile

– Tạo mới file swap với dung lượng mong muốn. Ví dụ mình tạo 2GB (2048k)

sudo dd if=/dev/zero of=/swapfile bs=1024 count=2048k

– Tạo phân vùng swap

mkswap /swapfile

– Kích hoạt swap

swapon /swapfile

– Bảo mật file swap bằng cách chmod

chown root:root /swapfile 
chmod 0600 /swapfile

– Kiểm tra lại tình trạng swap

swapon -s

Khi thay đổi dung lượng swap, các cài đặt từ trước như tự động kích hoạt khi server reboot, thông số Swappiness được giữ nguyên nên bạn không cần phải thao tác gì thêm.

Giờ khởi động lại server rồi kiểm tra lại kết quả thôi.

Tagged:

Comment của bạn

Your email address will not be published. Required fields are marked *

290 Comments

  1. VÕ HỮU NHẬT 6 comment

    Admin ơi, có thể giúp mình được không. Mình cài sever để chạy web, cài cấu hình RAM 8GB mà online lúc 5k thì vẫn bt, mà đôi lúc về 3k thì bị lỗi 502. Mình phải nâng lên 16GB, không biết có cách nào để sửa không hả admin. Lâu lâu là bị lỗi 502. Giúp mình trả lời sớm với nhé. Cảm ơn admin nhiều.

    1. Việt Phương Moderator

      Bạn theo dõi thời điểm 502 log các service như thế nào, có gì bất thường không. Bên cạnh đó, bạn cài các ứng dụng theo dõi theo thời gian thực để kiểm tra như Nginx Amplify, Linode LongView….

  2. huyhien 1 comment

    Chạy mấy cái lệnh đó ở chỗ nào z bạn mình ko hiểu chạy mấy cái command ở đâu

    1. Việt Phương Moderator

      Trên màn hình cửa sổ lệnh Terminal SSH nhé bạn. Dành cho VPS Linux

  3. Phúc 3 comment

    Sao mình dùng lệnh này: sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k mà báo là dd command not found vậy admin. Mình dùng lệnh swapon -s thì nó báo partition thôi chứ k thấy có swap. Mong admin hổ trợ

    1. Việt Phương Moderator

      Bạn chạy lệnh ở thư mục nào và user nào? Check thư mục hiện tại với pwd Có thể user bạn đang sử dụng không có quyền ghi vào thư muc đó.

      1. Phúc 3 comment

        Mình chạy user root. Chạy ở thư mục root vs home. mình thử home không được nên chuyển qua root thử

        1. Việt Phương Moderator

          VPS bạn hệ điều hành gì? Lỗi này mình chưa gặp rồi nên đang xem thêm

          1. Phúc 3 comment

            HĐH linux đó bạn. mình cũng search trên mạng nãy giờ. mà không thấy ai bị.
            mình dùng lệnh swapon -s như hướng dẫn mà nó không giống hướng dẫn. nó ra /dev/vda1 partition …….

  4. Dũng 4 comment

    Mình đến đoạn /etc/sysctl.conf
    Thì không thấy sysctl.conf
    Có tạo file thủ công nhưng loại không lưu lại được

      1. Việt Phương Moderator

        Nhìn như hệ thống bạn là Ubuntu à? Vì có thể ở hệ điều hành khác thì không phải vị trí đó. Chứ file đó được tạo mặc định trong hệ điều hành rồi bạn
        File sysctl.conf trong ảnh là bạn tự tạo à?

    1. đức 31 comment

      đoạn trên e đc r, e đến đoạn – Tạo phân vùng swap
      thì nó báo No such file or directory

      1. Việt Phương Moderator

        Bạn tạo swapfile chưa? Kết quả báo như thế nào?
        dd if=/dev/zero of=/swapfile bs=1024 count=1024k

          1. Việt Phương Moderator

            Bạn thiếu / ở swapfile rồi. Nên nó sẽ hiểu sai vị trí swapfile

  5. Thiện 2 comment

    sau khi cài đến đây hệ thống báo không tìm thấy trên centos 7.3
    “nano /usr/lib/tuned/virtual-guest/tuned.conf ”
    “nano /etc/sysctl.conf”

    1. Việt Phương Moderator

      2 bước khác nhau mà bạn. Bạn không thấy /etc/sysctl.conf hay /usr/lib/tuned/virtual-guest/tuned.conf

  6. Ngoc Tu 7 comment

    Cảm ơn bạn, bài viết hữu ích và mình đã cài thành công.
    Cho mình hỏi thêm là sao của mình như thế này:
    http://prntscr.com/fgddc5
    Thì Ram Free thực tế còn nhiều mà sao đã dùng đến Swap rồi. Mình kiểm tra vài lần nhưng chỗ free hơn 100 thì vẫn dùng một ít Swap kiểu thế này.

    1. Việt Phương Moderator

      Có thời điểm nhu cầu tăng lên sẽ sử dụng đến SWAP nên kể cả khi RAM free lại thì thông số vẫn hiện đã dùng swap bạn à

  7. Hoang 5 comment

    mình sài VPS trên Linode chọn gói 5$ 1GB được tối đa swap là 512MB thôi. mình có cập nhật lại là 2048MB như bạn nhưng khi reboot nó lại về 512MB.

    1. Luân Trần Admin

      Linode thì khi tạo disk, bạn bớt lại dung lượng để add thêm cho swap. Sau đó bạn resize lại kích thước swap là được. Mọi thao tác làm trên trang manager nhé.

  8. Duy 1 comment

    Cảm ơn bạn, đúng thứ mình đang cần, mình đã thực hiện đúng các bước.
    Tuy nhiên,khi kiểm tra lại với
    free -m
    thì thấy kết quả:

    total used free shared buff/cache available
    Mem: 990 427 57 142 505 381
    Swap: 2047 0 2047

    Free = 5% nhưng sao không thấy Swap được dùng vậy, mình làm sao gì chăng?

    1. Việt Phương Moderator

      Free là chỉ số cứng thôi. VPS sẽ lấy trước 1 phần RAM làm buff/cache, sẽ sử dụng khi cần nên free thực tế không phải chỉ là 57 bạn à

    1. Việt Phương Moderator

      Việc tạo được swap không liên quan đến hệ quản lý đâu bạn mà nằm ở bản chất của VPS. Bạn không tạo được có thể do không có quyền root hoặc VPS sử dụng công nghệ ảo hóa OpenVz…

    1. khanhtran 10 comment

      Bạn ơi, do web của mình có vấn đề nên mình giờ muốn xây dựng lại vps. giờ mình cần xóa hết dữ liệu đi để chạy lại cái hocvps khác, mình bấm rebuild rồi thì thông tin đăng nhập + port về lại như củ bạn nhỉ

      1. Việt Phương Moderator

        Bạn rebuild VPS thì về VPS mới. Mật khẩu sẽ được reset (Vultr thì xem tại trang quản lý, DO thì gửi về mail). Port SSH sẽ là 22

  9. khanhtran 10 comment

    Bạn phương cho mình hỏi, khi chạy setup vps bằng hocvps tự động rồi thì giờ mình muốn conect vps qua giao thức ssh bằng phần mềm ZOC thì sử dụng thông tin đăng nhập mới hoàn toàn ạ, hay chỉ thay port 22 thành port 2222 thôi ạ

      1. khanhtran 10 comment

        mình dùng zoc login vào bằng thông tin củ + đỗi port 22 thành 2222 mah login mãi ko được bạn ơi

      2. khanhtran 10 comment

        Nó báo thế này nè bạn.
        Connecting to sever1.viralphy.com:2222 (press Esc to cancel)…

        [SSH] FAIL: sever1.viralphy.com:2222 – A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

        Vps mình vẫn đang hoạt động bt, pass vẫn như củ

        1. Việt Phương Moderator

          Bạn connect trên web terminal(chỗ quản lý VPS của nhà cung cấp) được không? Do VPS vừa cài xong reboot thì không đăng nhập ngay được, chờ tầm 30s-1 phut là ok

  10. khanhtran 10 comment

    Bạn phương ơi, mình làm theo tấc cả các bước rồi . đến phần kích hoạt swap theo code này swapon /swapfile thì bị lỗi này “swapon failed: Operation not permitted” nó bị vậy là sao ạ

    1. Việt Phương Moderator

      1. Bạn chạy bằng user quyền root chứ? VPS bạn không phải là OpenVZ chứ?
      Bạn cho mình kết quả của hostnamectl status
      2. Trước đó bạn tạo swapfile chưa? sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024kmkswap /swapfile

  11. Huu Nhat 6 comment

    Anh cho e hỏi e tạo VPS cấu hình ram 4GB, giờ muốn tạo swap thì tạo khoảng bao nhiu GB hả a. Với sao e vào xem thông tin ở sever info thì thấy phần Total Memory toàn Full thế a. E tạo vps mới nó cũng full vậy, toàn 90% trở lên. Không biết có lỗi gì không

    1. Việt Phương Moderator

      4GB thì bạn tạo 2GB Swap thôi nhé. Bạn đọc dòng real use ý, vì VPS sẽ dùng 1 phần RAM là cached, lúc nào cần dùng thì lôi ra.
      Tổng RAM = (thực use + buff/cached) + free

  12. Huấn Phạm 3 comment

    cho mình hỏi một chút, mình sử dụng vps của linode lúc build thì mình đã tạo swap theo cấu hình trong linode rồi. Sau đó mình tiếp tục tạo swap theo hướng dẫn của bài viết này và nhận được thông số cấu hình như sau:
    Filename Type Size Used Priority
    /dev/sdb partition 524284 0 -1
    /swapfile file 2097148 0 -2

    Câu hỏi của mình là: Nếu tạo 2 vùng swap thế này thì có vấn đề gì không? VPS có chạy bình thường không hay chỉ nên để 1 vùng swap thôi. Nếu để 1 vùng, thì làm thế nào để xóa phân vùng mà mình đã tạo trước đó ở /dev/sdb? Cảm ơn nhiều.

    1. Việt Phương Moderator

      Bạn để 1 vùng thôi. Bạn có thể xóa phân vùng swap đã tạo như bài hướng dẫn: Tắt swap > Xóa file swap

    1. richard 2 comment

      Nhân tiện cho mình hỏi lúc ở bước :
      sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k

      Mình tạo nhầm là bs2048 count=2048k
      Rồi cho ra 4GB Ram, server vẫn chạy bình thường vậy admin?

      1. Việt Phương Moderator

        Bạn đã tạo 2GB swap. Tất nhiên sv vẫn chạy bình thg. Mình chưa hiểu ý câu hỏi bạn lắm

  13. Huu Duc 8 comment

    Trong directAdmin mình nhận được rất nhiều mess như sau:

    Brute-Force Attack detected in service log from IP(s) 58.218.199.105 02/14/2017
    000000339 Brute-Force Attack detected in service log on User(s) root 02/14/2017
    000000338 Brute-Force Attack detected in service log from IP(s) 113.195.145.79, 122.194.229.11 02/14/2017
    000000337 Brute-Force Attack detected in service log from IP(s) 116.31.116.18 02/14/2017
    000000336 Brute-Force Attack detected in service log from IP(s) 116.31.116.11 02/14/2017
    000000335 Brute-Force Attack detected in service log from IP(s) 182.100.67.4 02/14/2017
    000000334 Brute-Force Attack detected in service log from IP(s) 58.218.199.105 02/14/2017
    000000333 Brute-Force Attack detected in service log on User(s) root 02/14/2017
    000000332 Brute-Force Attack detected in service log from IP(s) 122.194.229.11

    Như vậy là server mình đang bị tấn công hả Phương?

    1. Việt Phương Moderator

      Bạn đang bị tấn công rồi. Brute Force là kỹ thuật đoán thử đúng sai liên tục vào phần đăng nhập nào đó, nhằm dò pass. Ví dụ của VPS user root hoặc phần quản trị website.

      1. Huu Duc 8 comment

        Nếu mình muốn chặn hết IP từ China thì làm sao giờ Phương?

        Chặn trong directAdmin hay trên vps ?

        Nó cứ Brute Force hoài cũng làm chậm VPS của mình đúng k ?

  14. Huu Duc 8 comment

    Chào Luân,

    VPS bên Vultr mình thuê:
    CPU: 2 vCore
    RAM: 2048 MB
    Storage: 45 GB SSD

    Chạy có 1 website, ngày khoảng 300-400 view là cao. Còn nhiều web khác chỉ dựng lên để đó k có traffic, mà Ram free lúc nào cũng thiếu. Làm việc trong admin cứ bị báo lỗi Erro database …

    Vậy là tại sao vậy Luân ? Có cách nào khắc phục không ?

    1. Việt Phương Moderator

      free -m của bạn ra kết quả gì. Và phần Real-time Data Server trong domain:port/serverinfo/ của bạn ntn

      1. Huu Duc 8 comment

        Free -m:
        total used free shared buff/cache available
        Mem: 1839 1097 296 92 445 475
        Swap: 0 0 0

        domain:port/serverinfo/
        [root@ns1 ~]# domain:port/serverinfo/
        -bash: domain:port/serverinfo/: No such file or directory
        Gõ 2 lệnh trên thì nó ra như vậy đó Phương.

        1. Việt Phương Moderator

          à domain:port/serverinfo/ là nếu bạn sử dụng HocVPS thì có công cụ nền web là ServerInfo để kiểm tra
          Còn theo mình thấy, bạn không cài swap.
          Ram thì hiện dùng 60%. Free = Total – (Used + Buff/Cache).Free thực sự của bạn là 296+445
          Mình nghĩ sv bình thường. Lỗi “Error Establishing a Database Connection” thì bạn kiểm tra thêm trong MySQL log xem.

  15. Long 1 comment

    Chao anh
    em thuc hien cac lenh ok nhung den lenh kiem tra thi no thong bao nhu sau: swapon failed: Operation not permitted
    Xin hoi em can lam gi
    thanks

    1. Việt Phương Moderator

      Bạn dùng VPS bên nào? Với các VPS dùng công nghệ ảo hóa OpenVZ, có thể bạn sẽ không tạo được swap do hệ thống đã tự động kích hoạt sẵn. Họ sẽ hạn chế cho bjan việc add thêm Ram bằng swap, thay vào đó bạn cần upgrade plan cho phú hợp

  16. Hoang 13 comment

    [root@vps02 ~]# nano /usr/lib/tuned/virtual-guest/tuned.conf
    -bash: nano: command not found
    Anh Luân ơi, cho em hỏi, em làm đến đây rồi nhưng bị lỗi dòng này:
    -bash: nano: command not found
    thành ra vm.swappiness = 30 ko đổi dc =10 mỗi khi reboot lại
    em đang dùng vps digitalOcen…
    Anh cho em hỏi giờ em phải làm sao ạ?

    1. Việt Phương Moderator

      Có nghĩa là nano text editor chưa được cài trong hệ điều hành của bạn.
      Tuy vậy, nếu làm đến bước này thì bạn hẳn đã chỉnh vm.swappiness ở cuối file /etc/sysctl.conf bằng cách # nano /etc/sysctl.conf rồi chứ nhỉ?
      Để cài đặt nano
      Trong CentOS bạn gõ: # yum install nano
      Trong Ubuntu bạn gõ: # apt-get install nano
      https://hocvps.com/cach-su-dung-nano-editor/

    1. Việt Phương Moderator

      10% tức Ram còn 10% mới sử dụng swap. Bạn kiểm tra xem đã cài đặt để giữ nguyên thông số khi khởi động lại VPS chưa
      Và theo ảnh thì mới dùng 73.21% thôi

  17. Chibi 1 comment

    Bác cho hỏi là khi tạo vps ở Ramnode đã có sẵn swap file partition là 1Gb rồi thì có cách nào tăng lên được không ?
    M tạo thêm file swap khác vẫn được thì dùng 2 loại file này 1 lúc có ảnh hưởng gì không ?
    Bác có hướng dẫn cài centos 7 64 từ file iso ở ramnode không cho m xin link với .
    Thanks bác nhiều nhá !

  18. Lộc Đặng 52 comment

    Hi Luân,
    Mình sử dụng VPS của Dedi, mặc định Dedi tạo SWAP trên SSD là 1GB, mình tạo SWAP như bài hướng dẫn này thì thấy “/swapfile” được xếp vào Priority = -2, còn “/dev/vdb” = -1.
    Mình muốn chuyển ưu tiên /swapfile được không?

  19. Hoang Lâm 3 comment

    ” Do sử dụng ổ cứng có tốc độ chậm hơn RAM, nhất là với những server dùng ổ cứng thường không dùng SSD, do đó không nên thường xuyên sử dụng Swap sẽ làm giảm hiệu năng hệ thống. Nếu tình trạng hết RAM hay xảy ra, bạn hãy tối ưu server, tăng cache và nâng cấp bổ sung thêm RAM. ”
    Luân cho hỏi câu này có phải không nên sử dụng swap trên server vật lý, Còn VPS thì sử dụng tốt đúng ko>

    1. Luân Trần Admin

      Server vật lý hay VPS cũng thế, bản chất Swap là dùng ổ cứng làm RAM tạm mà bạn.

  20. Kim Dong 1 comment

    Mình đã cài swap như hướng dẫn, đặt 20% nhưng khi ram chạy đến 92% mình thấy swap vẫn không chạy là sao vậy ban?

  21. Sanji 2 comment

    Bạn ơi cho mình hỏi với, mình thuê vps ram 768MB bên vultr chưa cài swap. Mình cho chạy 2 trang wordpress nhưng khi vào trang admin viết bài linh tinh thì trang bị chết, cụ thể là pass của user mysql bị thay đổi hay sao ấy mình phải vào command line reset lại user pass mysql.
    Có khi nào là do “hết RAM hệ thống thường tự động stop service MySQL” như bạn nói ở trên ko vì hiện tại 2 web của mình ít người vào băng thông mỗi tháng cùng lắm 2G/1000G thôi. Mình cảm ơn

    1. Luân Trần Admin

      Khả năng do hết RAM nên chết MySQL rồi, bạn kiểm tra status MySQL mỗi khi sự cố xảy ra xem thế nào?

  22. Lữ Phú Hòa 17 comment

    Xin báo admin là mình làm 1ngày 1đêm trên digitalocean tất cả các thể loại nhưng không thành công nhé,mới vô Vultr làm 1 phát là ngon lành luôn đó, chia sẽ để anh em rút kinh nghiệm đây

  23. Tuan Duong The 21 comment

    sao mình dùng lệnh restart lại vps digioncean “sudo shutdown -r now” thì nó không vào được web và phpmyadmin nữa vậy This site can’t be reached refused to connect.

  24. Vu Kim Son 8 comment

    Cảm ơn bài viết của bạn. Mình đã tạo thành công Swap dựa trên hướng dẫn.

  25. HQT86 2 comment

    Mình dùng VPS Digital Ocean, Ram 2GB, thiêt lập Vm.happiness 60 mặc định, nhưng khi Ram vượt quá 60% nó vẫn ko kích hoạt swap là sao nhỉ? Cụ thể , check free -m, dùng đến 1,4GB ram rồi mà ko kích hoạt SWAP.

      1. Hqt86 2 comment

        Trc mình cũng set 10 nhưng có lúc mysql stop vì ram hết mà nó cũng k kích hoạt swap là sao ban nhỉ?

        Check swapon vẫn bt.

  26. Nhan Nguyen 7 comment

    Mình xài ở digitalocean, hình mình gửi là ram đã hết sạch./ Không biết vấn đề ở đây?

  27. Nhan Nguyen 7 comment

    Mình làm đúng như cách của bạn, và hình như swap của mình đang không hoạt đông.
    http://i.imgur.com/w5W3Ek8.jpg
    Mình đã thử sysctl vm.swappiness=10 và hiện tại =30. kết là die. Bạn xem giúp mình với nhé.
    Cảm ơn admin

    1. Luân Trần Admin

      Bạn đang dùng VPS ở nhà cung cấp nào thế.
      Đã xảy ra trường hợp hết RAM chưa?

  28. Hoàng Văn Biên 1 comment

    Chào bạn,
    Mình dùng VPS bên BKNS gói 2GB. Mình tạo /swapfile 4096M và cài đặt vm.swappiness=10 kiểm tra mọi thứ OK.
    Nhưng khi mình thử RAM chạy chỉ còn khoàng 160M mà SWAP used vẫn = 0 đến khi RAM quá tải MySql bị die mà SWAP used vẫn =0. Mình thử cho vm.swappiness=100 rồi kiểm tra nhưng SWAP used vẫn =0.

    Trường hợp này là sao hả bạn?
    Nhờ bạn hướng dẫn giúp cách giải quyết.

    Trân trọng cảm ơn!
    Biên Hoàng

    1. Luân Trần Admin

      Bạn check lại xem tình trạng sử dụng RAM thế nào với lệnh free -m?
      cat /proc/sys/vm/swappiness hiện tại trả về ra sao?

  29. vé máy bay 8 comment

    hix mình đang sài thì vào phpmyadmin nó báo như vầy, minh có cài clamv và quét, quét xong thì bị vậy
    #2002 – Connection refused — The server is not responding (or the local server’s socket is not correctly configured).

  30. Nate 12 comment

    Luân cho mình hỏi cài mình xài gói ram 4g 2cpu của linnode thì trong phần thiết lập mình chọn cenos 7 và phần swap nó có 3 lượt chọn 128 256 và 512 mình chọn cái 512 ổn ko luân hay phải thiết lập lại cao hơn hơi mù mấy khoản này 😀

    1. The Nguyen Hong 2 comment

      Cơ chế chia đĩa của Linode hơi khác nhé, mặc định Max swap của nó là 512MB thôi, tuy nhiên bạn có thể chia ép swapfile theo hướng dẫn của Luân ở trên nó vẫn cộng dồn vào swap.
      Cách này có thể gây xung đột hệ thống, Linode không khuyến khích điều này.

      Bạn muốn chia trực tiếp trong trang quản trị của Linode thì có thể làm như sau:

      Ví dụ: Gói Linode của bạn là 4 GB Ram theo giá hiện tại thì sẽ có 48 GB SSD tương đương 49152 MB, và bạn muốn chia swap là 8 GB tương đương 8192 MB (gấp đôi dung lượng Ram vật lý).

      – Khi Building Disk Image để chạy Centos thì bạn nên trừ dung lượng của Swap bạn định tạo ra, nghĩa là 49152 – 8192 = 40960 MB (dung lượng thực tế để chạy Centos), phần dưới swap nó vẫn để max là 512 MB bạn cứ chọn nó và Building như thường sẽ Resize lại sau theo hướng dẫn bên dưới.

      – Sau khi Buiding Centos Disk Image xong (40960 MB) bạn sẽ còn dư lại 8192 MB dung lượng đã trừ ở trên, trong Dashboard chỗ Swap Disk Image bạn chọn Edit để Resize lại Swap, trong trang này bạn sẽ thấy dung lượng Swap Max cho phép là 8192 MB.

      – Nhớ khi Building thì trạng thái của Server là OFF làm xong tất cả thì Boot lại.

      – Chúc bạn thành công! 🙂

      – Hình minh họa:

      https://i.imgur.com/krTYJHZ.png
      https://i.imgur.com/Vym8vXV.png
      https://i.imgur.com/SplW7TL.png

  31. Phuong Nguyen Chu Nam 35 comment

    Hôm trước mình set swap 1024kb thành công
    Song hôm nay muốn nâng lên 2048kb nhưng khi
    thực hiện lệnh swapoff /swapfile
    thì nó báo lỗi
    swapoff: /swapfile: swapoff failed: Cannot allocate memory

      1. Hoàng Lâm 3 comment

        Luân ơi cho mình hỏi, VPS của mình là 1G thì có nên swap lên 2G không hay chỉ cần swap 1G nữa thôi,
        Với lại mình sử dụng lệnh này : sysctl vm.swappiness=10
        thì nó báo lỗi này: error: permission denied on key ‘vm.swappiness’
        Thực hiện đến bước này thì bị thế, kiểm tra lại swap thì :cat /proc/sys/vm/swappiness
        60.
        thì khắc phục thế nào Luân?
        Cảm ơn nhiều

        1. Luân Trần Admin

          Lỗi chỉnh vm.swappiness kia mình cũng không rõ rồi. Mình thì thường chỉ dùng Swap 1GB thôi, không muốn phụ thuộc nhiều quá vào cái này. Khi thiếu RAM thì tăng thêm RAM.