Tốt hơn là tập trung vào việc sử dụng các tùy chọn ffmpeg khác nhau sẽ đạt được kết quả tương tự theo cách sử dụng ít tài nguyên hơn. Điều đó nói rằng, có nhiều cách để sử dụng ít tài nguyên hơn nếu bạn thực sự cần phải hoàn thành một việc cụ thể với ffmpeg và nó đang sử dụng quá nhiều tài nguyên.
Bạn có thể giảm mức độ ưu tiên của ffmpeg
quy trình CPU:
- Phương thức đầu cuối: Sử dụng
nice
lệnh để thay đổi mức ưu tiên của quy trình : nice -n 8 ffmpeg -y -r 15 -g 600 -s 1280x1024x24 -f x11grab -i :100 -vcodec libx264 /tmp/video.mov
. Trong Linux, số ưu tiên ( nice
định dạng lệnh nice -n <priority> <command>
) nằm trong khoảng từ -20 đến 20. Số nguyên càng lớn, mức độ ưu tiên càng thấp ; trung tính là 0. Nếu bạn sử dụng lệnh tôi đã đưa cho bạn và đặt thành 8, CPU sẽ cho quá trình ít thời gian hơn, có vẻ như ít "năng lượng" hơn. Nếu con số này quá cao hoặc hai mức thấp, dĩ nhiên, bạn có thể thay đổi nó.
- Phương pháp GUI: Điều này không được khuyến nghị vì nó cho phép bạn kiểm soát số lượng chính xác ít hơn và nó không có hiệu lực ngay khi quá trình bắt đầu. Tuy nhiên, nó dễ hiểu hơn. Với
ffmpeg
việc chạy, mở System Monitor. Cuộn xuống quá trình được đặt tên ffmpeg
, nhấp chuột trái vào nó để chọn, nhấp chuột phải vào nó và đặt mức độ ưu tiên thành "Thấp" hoặc "Rất thấp".
Nếu bạn cũng lo lắng về việc sử dụng bộ nhớ, hãy biết rằng không thể nói quá trình chỉ chiếm quá nhiều bộ nhớ mà vẫn chạy. Nhân tự động điều khiển cấp phát bộ nhớ cho các quy trình. Có một cách để lồng các quy trình, với timeout
tập lệnh , để khi một quy trình và bất kỳ quy trình con nào chiếm quá nhiều bộ nhớ (giới hạn do bạn đặt), chúng sẽ bị chấm dứt an toàn và thông báo được hiển thị. Tuy nhiên, nếu một quá trình chỉ được cung cấp quá nhiều bộ nhớ (nói bởi kernel) và nó yêu cầu thêm bộ nhớ mà nó không thể có, nó sẽ bị sập.
Một số điều hữu ích cần biết về:
Sử dụng kiến thức về Cgroups, bạn có thể làm rất nhiều điều thú vị như kiểm soát swappiness của một quá trình.