英语法语西班牙语

Ad


OnWorks 网站图标

cstream - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 cstream

这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令 cstream,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


— 直接数据流,具有带宽限制、FIFO、音频、复制和
扩展报告支持。

概要


[-b NUM[-B NUM[-i 文件名[-I 绳子[-l[-n NUM[-o 文件名[-O 绳子]
[-p 文件名[-t NUM[-T NUM[-v NUM[-V[文件名]

商品描述


过滤数据流,很像 UNIX 工具 dd(1). 它有一个更传统的
命令行语法,支持精确的带宽限制和报告并支持
先进先出。 数据限制和吞吐率计算适用于大于 4 GB 的文件。

如果没有文件名,则从标准输入读取并写入标准输出
给。 如果需要,它还会“生成”或“接收”数据。

选项:

-b NUM 将用于读/写的块大小设置为 NUM. 默认值为 8192 字节。

-B NUM 缓冲输入高达 NUM 写入前的字节数。 默认值为块大小。 这是
将其设置为低于块大小的任何内容的错误。 写磁带时很有用
和类似的喜欢少写很多小写的大写。

-c NUM 并发操作。 使用单独的进程进行输出。 这特别有用
与 -B 选项结合使用。
0 = 只使用一个进程(默认)
1 = 读取进程将缓冲
2 = 写进程将缓冲
3 = 两个进程都将缓冲。
结合大缓冲区大小,这通常会加载您的内存
每次读取器将其收集的缓冲区传输到
作家。 如果您使用 -c 3 并且缓冲区大小为 128 兆字节 256 MB
记忆会立刻被触动。

-i NUM

-o NUM 分别设置用于输入或输出的文件名。 如果输出文件
名称为“-”,数据将被丢弃。 如果输入文件名是“-”,数据将
'从虚无中'产生。 如果没有给出这些选项,stdin/stout 将是
用过的。 如果你需要给 -o or -i 选项并想要标准输入/标准输出,指定
空字符串,像这样:

cstream -i''

如果 TCP 支持已被编译(默认),主机名:端口号将尝试
连接到指定端口的指定主机,:portnumber 将打开一个
本地机器上的 TCP 套接字并等待连接到达。 安全
注意:cstream 不包括限制可能连接到此的主机的机制
港口。 除非你的机器有其他网络过滤器,否则任何人都可以
连接。

-I 绳子

-O 绳子
分别指定输入和输出文件的类型。
如果字符串
包括'f',将创建一个fifo。
如果字符串
包含“a”,该文件将被假定为与 opensound 兼容的音频
设备,将切换到类似 CD 的设置。
如果字符串
包含 't',流的副本将被发送到文件描述符 3。
如果字符串
包括“N”,即使名称有“:”,TCP 也不会用于该文件。

-l 在统计中包括行数。

-n NUM 将数据总量限制为 NUM. 如果有更多可用的输入,它将
被丢弃, 达到限制后退出。 如果少了
输入,将不会达到限制并且不会发出错误信号。

NUM 可能有尾随的“k”、“m”或“g”,表示千字节、兆字节或
千兆字节(其中 Kilo = 1024)。 这适用于所有数字选项。

-p 文件名
将cstream的进程id写入 文件名. 如果 cstream 使用单独的编写器
进程(选项 -c),这是父(读取器)进程的 pid。

-t NUM 将数据流的吞吐量限制为 NUM 字节/秒。 限制是在
在输入端,你可以依靠 cstream 不接受超过这个速率。 如果
您给出的数字是正数,cstream 会累积错误并尝试保持
整个会话的指定值的总体费率。 如果你给负
number,它是每个读/写系统调用对的上限。 换句话说:
负数永远不会超过该限制,正数将超过
它可以弥补以前的未充分利用。

-T NUM 每 num 秒报告一次吞吐量。

-v NUM 将详细级别设置为 NUM. 默认情况下,它设置为 0,这意味着没有消息
只要没有错误就显示。 值为 1 表示数据总量
和吞吐量将在程序运行结束时显示。 值为 2 表示
自第一个读/写对结束以来的传输速率也将被报告
(当有初始延迟时很有用)。 值为 3 意味着还将有
读取和写入的单独测量。 此选项消耗资源且
目前未实施。 值为 4 表示通知每个单
将显示读/写。 高值包括所有较低的消息类型
值。

-V 将版本号打印到标准输出并以 0 退出。

文件名 没有选项开关的单个文件名作为最后一个参数将用作
如果未使用 -i,则输入文件。

信号灯1

信息 发送 SIGUSR1(或 SIGINFO,通常映射到键盘上的 Control-T)
to cstream 导致它向 stderr 显示吞吐率。 流将
像什么都没发生一样继续。

信号灯2 如果需要,退出并报告吞吐率。

签到 我发现自己经常不小心发送 SIGHUP。 但忽视或滥用
SIGHUP 不是我的选择。 因此,当 收到 SIGHUP,它将等待 5
再次 SIGHUP 秒,让用户有机会纠正可能的错误。
如果没有收到额外的 SIGHUP, 用 SIGHUP 杀死自己。

示例


-o 文件 -v 1 -n 384 m -i -
将 384 兆字节的未指定数据写入文件 文件 并显示详细
吞吐率。 做一个很好的基准,速度 的/ dev / null的 变化太大
系统到系统。

-i 文件 -v 1 -n 384 m -o -
读回同一个文件并丢弃数据。

-b 2000 -t 10000 / var / log /消息
将以或多或少可观看的速度显示文件。

倾倒 0sf 400000 - / | -v 1 -b 32768 -o /开发/rst0 -p pid文件

-USR1 `猫 pid文件`
写出输出 倾倒(1) 磁带。 每次发送信号时,吞吐量
将显示到目前为止的数据速率。

-t 176400 -i /开发/ dsp0 -I f -o -
制作一种可用于测试音频应用程序的声卡模拟器
需要写一些东西来限制数据速率,就像真正的声卡一样。 这个
当应用程序尝试使用写入数据时,显然不起作用 MMAP(2)和
应用程序在尝试使用以下方法设置声卡参数时必须忽略错误
读写控制(2)。

-t 176400 -i /开发/ dsp0 -I f -o /开发/ dsp1 -O f
类似的声卡模拟器,除了它允许您获取数据
应用程序从另一个 fifo 发送给它,同时仍然有精确的计时。

-OA -o /开发/ dsp0 myhost.mydomain.com:17324
连接主机 myhost.mydomain.com 上的端口 3333,它在那里找到的任何数据都会
发送到声卡,并为 CD 质量立体声播放设置适当的设置。

-i 我的音频文件.raw -o :17324
这将在端口 17324 上打开一个 TCP 服务器并等待有人连接(对于
例如,上一个示例中的命令行)。 然后它会发送内容
myaudiofile.raw 的 TCP 流(对于前面的音频示例,通常是
CD 音轨,就像您从 tosha 或 cdparanoia 实用程序中获得的一样)。

-外径 -o 我的档案

使用 O_DIRECT 写入文件 myfile。 这通常意味着文件系统缓冲区
cache 不会尝试缓存这个文件。 您可以使用它来防止复制
占用物理内存的操作。 注意当 cstream 遇到一个
写错误会将输出文件从 O_DIRECT 切换到普通文件并写入
如果没有 O_DIRECT 的写入成功,则没有 O_DIRECT 的所有其他块。 在实践中
这通常意味着你的最后一个块,如果不是文件系统块的倍数
size,仍会写入文件(写入的最大数据量
没有 O_DIRECT 是你的块大小减一)。 这样 cstream 确保
输出文件具有输入的长度,但长度是奇数,无论如何
您的操作系统对 O_DIRECT 输出有何限制。 同样,cstream 将*不*填充
输出到块大小,您将获得与不使用相同的文件和文件大小
O_DIRECT,代价是每当块不正确时切换到非 O_DIRECT
大小。

-i :3333 | dd 观测值=8192 | ./cstream -omy 文件 -v7 -外径
这是缓冲 TCP 输入所需的操作,以便最后一个 cstream 不会
由于读取时间短,过早地从 O_DIRECT 切换。 如果您的输入可以做到
短读(例如来自 TCP),并且您想确保 O_DIRECT 保持有效,
您需要 TCP 流和 O_DIRECT 流之间的缓冲区。 由于 cstream
尚不支持不同的输入和输出块大小,dd 适合这里。
请注意,仅当操作系统需要多个文件系统时才需要这样做
O_DIRECT 的块大小。 在撰写本文时,需要此构造
Linux 用于通过 O_DIRECT 使用 TCP 流,但在 FreeBSD 上不需要它。

-操作系统 -o 我的档案
使用 O_SYNC 写入文件 myfile。 这意味着当系统调用返回时
已知数据在磁盘上。 这与 O_DIRECT 不同。 O_DIRECT
可以做自己的缓冲,使用 O_SYNC 根本没有缓冲。 在那个时间
在写这篇文章时,Linux 和 FreeBSD 上的 O_SYNC 非常慢(1/5 到 1/10)
正常写入)并且 O_DIRECT 相当快(正常写入的 1/4 到 1/2)。 你
可以组合 O_SYNC 和 O_DIRECT。

错误


退出代码 0 表示成功。

退出代码 1 表示命令行语法使用错误。

退出代码 2 表示其他错误,尤其是系统错误。

错误


应该有一个选项可以在第一次读取结束后直接开始写入然后填充
在后台读取的缓冲区。 现在写作不会在读者之前开始
第一次完全填满缓冲区。

不是错误:执行 O_DIRECT 的代码相当复杂。 会恢复正常
错误的 I/O。 但在此之前,它了解文件系统块大小的要求
(将默认 I/O 块大小为输出文件的文件系统所在的任何文件系统)和页面
对齐要求(I/O 将从页面对齐的缓冲区发生)。 然而
并发读/写(-c 选项)和 O_DIRECT 的组合尚未经过测试
基本验证它是否正确进行了一些测试。

使用 onworks.net 服务在线使用 cstream


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    深层清洁
    深层清洁
    核对所有构建的 Kotlin 脚本
    来自 Gradle/Android 项目的缓存。
    当 Gradle 或 IDE 允许您时很有用
    向下。 该脚本已经过测试
    macOS,但是...
    下载深度清理
  • 2
    Eclipse Checkstyle 插件
    Eclipse Checkstyle 插件
    Eclipse Checkstyle 插件
    集成了 Checkstyle Java 代码
    审计员进入 Eclipse IDE。 这
    插件提供实时反馈
    用户关于viol...
    下载 Eclipse Checkstyle 插件
  • 3
    AstrOrz播放器
    AstrOrz播放器
    AstrOrz Player 是一款免费的媒体播放器
    软件,部分基于 WMP 和 VLC。 这
    播放器采用极简风格,带有
    十多个主题色,还可以
    B ...
    下载 AstrOrzPlayer
  • 4
    电影启动器
    电影启动器
    Kodi Movistar+ TV 是 XBMC/ 的 ADDON
    Kodi 许可分配器
    IPTV服务解码器
    Movistar Integrado en uno de los
    媒体中心马...
    下载 movistartv
  • 5
    代码::块
    代码::块
    Code::Blocks 是一个免费的、开源的、
    跨平台 C、C++ 和 Fortran IDE
    专为满足最苛刻的需求而打造
    它的用户。 它的设计非常
    扩展...
    下载代码::Blocks
  • 6
    之中
    之中
    中间或高级 Minecraft 界面
    和数据/结构跟踪是一种工具
    显示 Minecraft 的概览
    世界,而无需实际创造它。 它
    能够 ...
    下载烟雨
  • 更多 ”

Linux 命令

Ad