Lệnh sysctl trong linux với các ví dụ dễ hiểu

Lệnh sysctl trong Linux cho phép bạn xem và thay đổi các tham số kernel đang chạy một cách linh hoạt. Bạn có thể dùng nó để tinh chỉnh hiệu suất hệ thống hoặc bật tắt các tính năng mạng mà không cần khởi động lại máy. Thay đổi bằng sysctl có thể được lưu vào file cấu hình để áp dụng vĩnh viễn sau khi khởi động lại.

Lệnh sysctl trong linux là gì?

Lệnh sysctl trong Linux là một command sysctl in linux mạnh mẽ cho phép bạn xem và thay đổi các tham số kernel trong thời gian chạy. Nó giúp bạn điều chỉnh hệ thống mà không cần khởi động lại, rất tiện lợi để thử nghiệm và tối ưu hóa. Các tham số này ảnh hưởng đến nhiều khía cạnh của hệ thống, từ quản lý bộ nhớ đến mạng lưới và bảo mật. Bạn có thể sử dụng nó để tăng hiệu suất hoặc khắc phục các sự cố phát sinh một cách nhanh chóng. Hãy cẩn thận khi thay đổi các giá trị này, vì một số thay đổi có thể ảnh hưởng đến sự ổn định của hệ thống.

Tìm hiểu Mục đích và Chức năng của Lệnh sysctl

Trong bước này, bạn sẽ tìm hiểu về mục đích và chức năng của lệnh sysctl trong Linux.

Lệnh sysctl được dùng để xem và sửa đổi các tham số kernel khi hệ thống đang chạy, giúp bạn tinh chỉnh hệ thống Linux.

Lệnh sysctl cho phép bạn:

  • Xem giá trị hiện tại của một tham số kernel.
  • Sửa đổi giá trị của một tham số kernel.
  • Lưu giữ các thay đổi tham số kernel sau khi khởi động lại hệ thống.

Để xem giá trị hiện tại của một tham số kernel, bạn có thể dùng lệnh sysctl với tên tham số:

$ sysctl kernel.hostname
kernel.hostname = ubuntu

Lệnh này sẽ hiển thị giá trị hiện tại của tham số kernel.hostname.

Để sửa đổi giá trị của một tham số kernel, bạn có thể dùng tùy chọn -w hoặc --write:

$ sudo sysctl -w kernel.hostname=myhost
kernel.hostname = myhost

Lệnh này sẽ thay đổi hostname của hệ thống thành myhost.

Ví dụ về đầu ra:

$ sysctl kernel.hostname
kernel.hostname = myhost

Lệnh sysctl cung cấp quyền truy cập vào rất nhiều tham số kernel, cho phép bạn tùy chỉnh và tối ưu hóa hệ thống Linux cho các trường hợp sử dụng cụ thể.

Thay đổi tham số Kernel bằng lệnh sysctl

Trong bước này, bạn sẽ học cách sử dụng lệnh sysctl để thay đổi các tham số kernel trong hệ thống Linux.

Lệnh sysctl cho phép bạn xem và thay đổi giá trị của nhiều tham số kernel khi hệ thống đang chạy.

Điều này rất hữu ích để điều chỉnh hiệu suất hệ thống, bảo mật và các khía cạnh khác của hệ thống Linux.

Để thay đổi một tham số kernel bằng sysctl, bạn có thể sử dụng tùy chọn -w hoặc --write, sau đó là tên tham số và giá trị mới:

$ sudo sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

Trong ví dụ này, chúng ta đang bật IP forwarding bằng cách đặt tham số net.ipv4.ip_forward thành 1.

Bạn cũng có thể sử dụng lệnh sysctl để thay đổi nhiều tham số cùng một lúc một cách dễ dàng.

$ sudo sysctl -w net.ipv4.ip_forward=1 vm.swappiness=10
net.ipv4.ip_forward = 1
vm.swappiness = 10

Ở đây, chúng ta đang bật IP forwarding và đặt tham số vm.swappiness thành 10.

Ví dụ về đầu ra:

$ sysctl net.ipv4.ip_forward vm.swappiness
net.ipv4.ip_forward = 1
vm.swappiness = 10

Các thay đổi được thực hiện bằng lệnh sysctl chỉ là tạm thời và sẽ mất sau khi khởi động lại hệ thống.

Để các thay đổi này được giữ lại, bạn cần sửa đổi file cấu hình thích hợp, chúng ta sẽ tìm hiểu ở bước tiếp theo.

Lưu Cấu Hình sysctl Sau Khi Khởi Động Lại

Ở bước trước, bạn đã biết cách dùng lệnh sysctl để chỉnh sửa các tham số kernel.

Tuy nhiên, những thay đổi này chỉ là tạm thời và sẽ mất sau khi hệ thống khởi động lại.

Trong bước này, bạn sẽ học cách làm cho các thay đổi cấu hình sysctl được giữ lại sau mỗi lần khởi động.

Để lưu cấu hình sysctl, bạn cần chỉnh sửa file /etc/sysctl.conf.

File này được kernel đọc khi khởi động, và các tham số kernel được chỉ định sẽ được áp dụng.

Đầu tiên, hãy mở file /etc/sysctl.conf bằng một trình soạn thảo văn bản:

$ sudo nano /etc/sysctl.conf

Sau đó, thêm các tham số kernel bạn muốn lưu lại, mỗi tham số trên một dòng, theo định dạng sau:

parameter=value

Ví dụ, để lưu các thay đổi đã thực hiện ở bước trước:

net.ipv4.ip_forward=1
vm.swappiness=10

Lưu file và thoát khỏi trình soạn thảo văn bản.

Để áp dụng các thay đổi ngay lập tức, mà không cần chờ khởi động lại, hãy chạy lệnh sau:

$ sudo sysctl -p

Lệnh này sẽ tải cấu hình mới từ file /etc/sysctl.conf và áp dụng các thay đổi.

Ví dụ về đầu ra:

$ sudo sysctl -p
net.ipv4.ip_forward = 1
vm.swappiness = 10

Bây giờ, các thay đổi tham số kernel sẽ được giữ lại sau mỗi lần khởi động lại hệ thống.

Kết luận cho linux sysctl command

Tóm lại, lệnh linux sysctl command là một công cụ mạnh mẽ để bạn tinh chỉnh hệ thống Linux của mình. Nó cho phép bạn thay đổi các tham số kernel một cách linh hoạt, ảnh hưởng trực tiếp đến hiệu suất và bảo mật. Hãy nhớ rằng, việc thay đổi các giá trị này cần được thực hiện cẩn thận, vì một số thay đổi có thể gây ra sự cố. Trước khi thực hiện bất kỳ thay đổi nào, hãy tìm hiểu kỹ về tham số bạn muốn điều chỉnh. Bạn có thể sử dụng lệnh `sysctl -a` để xem danh sách đầy đủ các tham số có sẵn. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về cách sử dụng linux sysctl command. Chúc bạn thành công trong việc khám phá và tối ưu hóa hệ thống Linux của mình!

Last Updated : 17/10/2025