linux - 如何在Raspbian下设置jackd和guitarix的实时优先级?

标签 linux embedded low-latency ulimit jack

我正在尝试使用 raspbian 在 Raspberry Pi 2(+ Cirrus 声卡)上运行吉他和 jack 。 通过 qjackctl 启动 jack 时,出现错误

Cannot lock down 82278944 byte memory area (Cannot allocate memory)
Cannot use real-time scheduling (RR/10)(1: Operation not permitted)

似乎对 /etc/security/limits.conf 的更改不适用,但对 /etc/security/limits.d/audio.conf 则适用。

我尝试设置用户和组的内存锁定大小:

@audio - rtprio 90          # maximum realtime priority
@audio - memlock unlimited  # maximum locked-in-memory address space (KB)
@audio - nice -10
pi      - rtprio 90
pi      - memlock unlimited
pi      - nice -10

从 ssh 我得到了满意的结果:

pi@raspberrypi ~ $ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 30
file size               (blocks, -f) unlimited
pending signals                 (-i) 7349
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 90
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7349
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

但是从桌面终端我通过 vnc 访问我得到

pi@raspberrypi ~ $ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7349
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7349
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

同一用户如何拥有不同的设置以及如何在桌面上运行 rt 和内存分配?

最佳答案

这似乎是 PAM 配置的问题,如所述 here .

取消注释 /etc/pam.d/su 中的行就可以了。

# session    required   pam_limits.so

关于linux - 如何在Raspbian下设置jackd和guitarix的实时优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30504470/

相关文章:

c - 用于引导加载程序设置的链接器文件 vector 表

c# - 我应该尽量避免在超低延迟软件中使用 "new"关键字吗?

java - 可轮询干扰器

udp - WebRTC 尽可能低的延迟

linux - 静态链接的openssl,从哪里加载CA证书?

linux - Windows 10 Linux 子系统上的 Xming Visual Studio Code

linux - 为 K8s 将 Centos 虚拟机相互连接

linux - 设法泄漏将函数地址放入libc中,但无法获取其他函数的地址

c# - 如何在 C# 中初始化不安全指针并将其转换为 byte[]?

嵌入式板支持包