Bài đăng nổi bật

Hướng dẫn thay đổi thư mục root mặc định của Docker trên Linux

Hoàn cảnh: người viết gặp một trường hợp như này Được team hạ tầng cấp cho một máy chủ gồm 2 phân vùng lưu trữ, 1 phân vùng 20GB được gắn và...

29 tháng 8, 2013

File descriptor trong Linux

Mô tả nôm na thì số lượng file descriptor là số file mà một người dùng hệ thống có thể mở trong một phiên làm việc của mình.
 Hard limit là thông số chỉ có thể thay đổi bởi người quản trị, nó là giới hạn trên của soft limit, các soft limit không được vượt quá giá trị của hard limit.
Soft limit là thông số có thể thay đổi bởi user và process, nó là giá trị quy định số file có thể mở cùng lúc trong một phiên làm việc và không thể lớn hơn giá trị quy định trong hard limit.
Để xem giá trị của hard limit và soft limit ta làm như sau:
  • Chuyển sang người dùng muốn xem, ví dụ user1.
  • Xem hard limit bằng lệnh: ulimit -Hn
  • Xem soft limit bằng lệnh: ulimit -Sn
Để tác động tới các giá trị này trong toàn hệ thống
 Để thay đổi với toàn hệ thống, người dùng cần thay đổi giá trị của hard limit và soft limit trong tập tin /etc/sysctl.conf.
Khi gặp trường hợp số tập tin mở cùng lúc vượt quá mức quy định, bạn cần làm như sau:
  • Thay đổi giá trị trong tập tin /proc/sys/fs/file-max bằng người dùng root
    sysctl -w fs.file-max=10000
    Lệnh này sẽ yêu cầu thay đổi giá trị sang 10000
  • Sau khi đổi bạn cần thay đổi giá trị trong tập tin /etc/sysctl.conf để thông tin thay đổi vẫn được giữ nguyên khi khởi động lại máy, bằng cách thêm dòng sau vào:
    fs.file-max = 10000
  • Sau đó gõ lệnh sau để áp dụng các thay đổi:
    sysctl -p
Để tác động tới các giá trị này của người dùng:
Để thay đổi với người dùng cụ thể , ta thay đổi nội dung trong tập tin /etc/security/limits.conf.
Ví dụ để thay đổi giá trị cho user1, ta thêm các giá trị sau:
user1 soft nofile 1024
user1 hard nofile 2048

Không có nhận xét nào:

Đăng nhận xét