所以作为序言,自从十年前我上大学以来,我并没有在 Linux 上做过很多事情,所以我可能只是在做一些愚蠢的事情。
但是,对于我正在处理的这个项目,我正在特定场景下的两台机器上执行负载测试,并尝试获取 CPU 和 RAM 数据。然而,我在 Google Compute Engine 性能数据和来自实际虚拟机的数据之间收到了截然不同的值。
到目前为止,我已经运行了 10 分钟的负载测试,并且运行top显示:
top - 17:58:41 up 7 days, 10:17, 2 users, load average: 0.00, 0.00, 0.00
任务:总共 82 个,1 个运行,81 个睡眠,0 个停止,0 个僵尸
Cpu(s): 0.3%us, 1.0%sy, 0.0%ni, 98.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
内存:总共 1741288k,已使用 514704k,1226584k 空闲,146748k 缓冲区
交换:总共 0k,已使用 0k,空闲 0k,缓存 192572k
这让我觉得这个操作使用了我的 cpu 的 0.3%。但是,查看 Google 计算引擎 VM 实例仪表板,并选择这台确切的机器)它在过去 5 分钟内显示恒定的 16-18% cpu。
我对两者之间的差异有什么误解吗?
我正在尝试RTP通过本地 SDP 文件测试 ffmpeg 流。所以要开始我运行的流
ffmpeg -re -thread_queue_size 4 -i .\bbb_streamable.flv -strict -2 -vcodec copy -an -f rtp rtp://127.0.0.1:6005 -acodec copy -vn -f rtp rtp://127.0.0.1:7005
这给了我以下 SDP
v=0
o=- 0 0 IN IP4 127.0.0.1
s=Big Buck Bunny, Sunflower version
t=0 0
a=tool:libavformat 58.10.100
m=video 6005 RTP/AVP 96
c=IN IP4 127.0.0.1
b=AS:3500
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAKKzZQHgCJ+XARAAAAwAEAAADAPA8YMZY,aOrssiw=; profile-level-id=640028
m=audio 7005 RTP/AVP 97
c=IN IP4 127.0.0.1
b=AS:96
a=rtpmap:97 MPEG4-GENERIC/44100/2
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=121056E500
Run Code Online (Sandbox Code Playgroud)
所以为了在另一个窗口中记录 RTP 流,我执行:
ffmpeg -protocol_whitelist "file,rtp,udp" -i .\test.sdp …