sách gpt4 ai đã đi

Số lượng tệp tin được mở trên người dùng Linux và trên toàn hệ thống Linux là bao nhiêu?

In lại Tác giả: IT Prince Thời gian cập nhật: 2023-10-29 01:26:55 31 4
mua khóa gpt4 Nike

Xin lỗi, câu hỏi này có nhiều lớp, nhưng tất cả đều liên quan đến số lượng tệp đang mở.

Tôi nhận được thông báo "Quá nhiều tệp đang mở" trong nhật ký ứng dụng của một ứng dụng tôi đang phát triển. Có người gợi ý với tôi:

  1. Tìm số lượng tệp đang mở hiện đang được sử dụng, trên toàn hệ thống và trên mỗi người dùng
  2. Tìm hiểu giới hạn tệp mở của hệ thống và người dùng.

Tôi đã chạy giới hạn -n và trả về 1024. Tôi cũng đã xem trong /etc/limits.conf và không có gì đặc biệt trong tệp đó. /etc/sysctl.conf cũng không được sửa đổi. Tôi sẽ liệt kê nội dung của tập tin bên dưới. Tôi cũng chạy lsof | wc -l, nó trả về hơn 5000 hàng (nếu tôi sử dụng đúng cách).

Vậy câu hỏi chính của tôi là:

  1. Làm thế nào tôi có thể biết được mỗi người dùng được phép mở bao nhiêu tệp? Giới hạn mềm có phải là thiết lập nofile được tìm thấy/xác định trong /etc/limits.conf không? Vì tôi chưa động đến /etc/limits.conf, vậy giá trị mặc định là gì?
  2. Làm thế nào để tôi có thể tìm được số lượng tệp mở được phép trên toàn hệ thống? Đây có phải là giới hạn cứng trong limits.conf không? Nếu limits.conf không được sửa đổi thì giá trị mặc định là gì?
  3. ulimit trả về số nào cho các tệp đang mở? Nó hiển thị là 1024 nhưng khi tôi chạy lsof và đếm số dòng thì lại hơn 5000+ nên tôi không nhấp vào. Tôi có nên chạy lệnh hoặc tệp nào khác để xem xét những giới hạn này không? Cảm ơn sự giúp đỡ của bạn trước.

Nội dung của limits.conf

# /etc/security/limits.conf
#
#Mỗi dòng mô tả giới hạn cho người dùng theo biểu mẫu:
#
#
#
#Ở đâu:
# có thể là:
# - tên người dùng
# - tên nhóm, với cú pháp @group
# - ký tự đại diện *, cho mục nhập mặc định
# - ký tự đại diện %, cũng có thể được sử dụng với cú pháp %group,
# cho giới hạn maxlogin
#
# có thể có hai giá trị:
# - "mềm" để thực thi các giới hạn mềm
# - "hard" để thực thi các giới hạn cứng
#
# có thể là một trong những mục sau:
# - core - giới hạn kích thước tệp lõi (KB)
# - dữ liệu - kích thước dữ liệu tối đa (KB)
# - fsize - kích thước tệp tối đa (KB)
# - memlock - không gian địa chỉ bị khóa trong bộ nhớ tối đa (KB)
# - nofile - số lượng tệp mở tối đa
# - rss - kích thước tập tin lưu trú tối đa (KB)
# - stack - kích thước stack tối đa (KB)
# - cpu - thời gian CPU tối đa (MIN)
# - nproc - số lượng tiến trình tối đa
# - as - giới hạn không gian địa chỉ (KB)
# - maxlogins - số lần đăng nhập tối đa cho người dùng này
# - maxsyslogins - số lượng đăng nhập tối đa trên hệ thống
# - priority - mức độ ưu tiên để chạy quy trình người dùng với
# - khóa - số lượng khóa tệp tối đa mà người dùng có thể giữ
# - sigpending - số lượng tín hiệu đang chờ xử lý tối đa
# - msgqueue - bộ nhớ tối đa được sử dụng bởi hàng đợi tin nhắn POSIX (byte)
# - nice - mức độ ưu tiên nice tối đa được phép tăng lên các giá trị: [-20, 19]
# - rtprio - mức độ ưu tiên thời gian thực tối đa
#
#
#

#* lõi mềm 0
#* rss cứng 10000
#@sinh viên khó nproc 20
#@faculty soft nproc 20
#@faculty khó nproc 50
#ftp cứng nproc 0
#@sinh viên - maxlogins 4

# Kết thúc tập tin

Nội dung của sysctl.conf

# Kiểm soát chuyển tiếp gói tin IP
net.ipv4.ip_forward = 0

# Kiểm soát xác minh tuyến đường nguồn
net.ipv4.conf.default.rp_filter = 1

# Không chấp nhận định tuyến nguồn
net.ipv4.conf.default.accept_source_route = 0

# Kiểm soát chức năng gỡ lỗi Yêu cầu hệ thống của hạt nhân
kernel.sysrq = 0

# Kiểm soát xem core dump có thêm PID vào tên tệp core hay không
# Hữu ích cho việc gỡ lỗi các ứng dụng đa luồng
kernel.core_uses_pid = 1

# Kiểm soát việc sử dụng TCP syncookies
net.ipv4.tcp_syncookies = 1

# Kiểm soát kích thước tối đa của một tin nhắn, tính bằng byte
kernel.msgmnb = 65536

# Kiểm soát kích thước tối đa mặc định của hàng đợi tin nhắn
kernel.msgmax = 65536

# Kiểm soát kích thước phân đoạn chia sẻ tối đa, tính bằng byte
hạt nhân.shmmax = 68719476736

# Kiểm soát số lượng tối đa các phân đoạn bộ nhớ chia sẻ, trong các trang
hạt nhân.shmall = 4294967296

# khoảng thời gian giữa gói dữ liệu cuối cùng được gửi và lần thăm dò duy trì kết nối đầu tiên
net.ipv4.tcp_keepalive_time = 600

# khoảng thời gian giữa các lần thăm dò duy trì kết nối tiếp theo
net.ipv4.tcp_keepalive_intvl = 60

# khoảng thời gian giữa gói dữ liệu cuối cùng được gửi và lần thăm dò duy trì kết nối đầu tiên
net.ipv4.tcp_keepalive_time = 600

# khoảng thời gian giữa các lần thăm dò duy trì kết nối tiếp theo
net.ipv4.tcp_keepalive_intvl = 60

# số lượng các cuộc thăm dò chưa được xác nhận để gửi trước khi xem xét kết nối đã chết và thông báo cho lớp ứng dụng
net.ipv4.tcp_keepalive_probes = 10

# số lượng các cuộc thăm dò chưa được xác nhận để gửi trước khi xem xét kết nối đã chết và thông báo cho lớp ứng dụng
net.ipv4.tcp_keepalive_probes = 10

# cố gắng hết sức có thể để không hoán đổi, an toàn nhất có thể
vm.swappiness = 1
fs.aio-max-nr = 1048576
#fs.file-max = 4096

31 4 0
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com