不知道为什么会发生这种情况,这是我第一次看到这个错误。公羊和驱动器似乎还有足够的空间。
如果我不使用 -noshm 选项运行它,第一个 vnc 现在会失败。第二个失败的是我在 ffmpeg 中的屏幕抓取。我怎样才能防止这种情况发生以及如何解决它?我需要完全重启服务器吗?
[x11grab @ 0x558615a2b220] Cannot get 1126032 bytes of shared memory:
No space left on device. [x11grab @ 0x558615a2b220] Stream #0: not
enough frames to estimate rate; consider increasing probesize
total used free shared buff/cache
available
Mem: 3762 662 547 967 2553
1898
Swap: 0 0 0
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 377M 39M 338M 11% /run
/dev/xvda1 20G 5.3G 14G 28% /
tmpfs 1.9G 47M 1.8G 3% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
tmpfs 377M 32K 377M 1% /run/user/116
tmpfs 377M 4.0K 377M 1% /run/user/1000
ipcs 命令的输出:https://gist.github.com/cAstraea/a204591c838f95c95d863ea04709ffa7
答案1
问题数量庞大系统V共享内存段。需要用ipcrm
命令删除。但在检查之前纳奇字段,显示使用该段的程序数量。例如:
你的片段:
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x00000000 0 root 644 80 2
0x00000000 32769 root 644 16384 2
0x00000000 2065989638 ubuntu 777 1128032 0
0x00000000 1363181575 ubuntu 777 1126032 0
您可以安全地删除最后 2 个片段:
ipcrm --shmem-key 2065989638
ipcrm --shmem-key 1363181575