Questions tagged «io»

I / O是输入/输出的缩写,是指在一个系统或组件与另一个系统或组件之间传递信息的机制或过程。

7
将stdout重定向到您没有写权限的文件
当您尝试修改文件而没有写权限时,会出现错误: > touch /tmp/foo && sudo chown root /tmp/foo > echo test > /tmp/foo zsh: permission denied: /tmp/foo Sudoing无济于事,因为它以root身份运行命令,但是shell仍会处理重定向标准输出并以您自己的方式打开文件: > sudo echo test > /tmp/foo zsh: permission denied: /tmp/foo 除了以root用户身份打开Shell并以这种方式操作文件之外,是否有一种简单的方法可以将stdout重定向到您没有写入权限的文件? > sudo su # echo test > /tmp/foo

3
我可以观看`sync`操作的进度吗?
我已经使用异步将一个大文件复制到安装在Linux系统上的USB磁盘上。这会相对快速地返回到命令提示符,但是,当我键入时sync,所有这些都必须进入磁盘,这需要很长时间。 我知道它会变慢,但是在某个地方我可以看到计数器降为零吗?看着buffers在top没有帮助。
103 linux  filesystems  io  async 

12
延迟将数据写入磁盘的背后原理是什么?
在Linux中,命令的完成执行(例如cp或dd不代表已将数据写入设备)。例如,必须调用sync或调用驱动器上的“安全删除”或“弹出”功能。 这种方法背后的哲学是什么?为什么不立即写入数据?是否存在由于I / O错误而导致写入失败的危险?

2
dd什么时候适合复制数据?(或何时分别使用read()和write())
简短版本:在什么情况下可以dd安全地用于复制数据,安全意味着不存在由于部分读取或写入而导致损坏的风险? 长版—前言: dd通常用于复制数据,尤其是从设备复制数据或向设备复制数据(示例)。有时,它被赋予了神秘的属性,即能够以比其他工具更低的级别访问设备(实际上,正是设备文件在发挥作用)-但dd if=/dev/sda与相同cat /dev/sda。dd有时被认为是更快,但cat在实践中可以击败它。但是,它dd具有独特的属性,有时使其真正有用。 问题: dd if=foo of=bar实际上与并不相同cat <foo >bar。在大多数unices¹上,dd只需调用一次即可read()。(我发现POSIX对“读取输入块”中的内容构成模糊dd。)如果read()返回部分结果(根据POSIX和其他参考文档,除非实现文档另有说明,否则允许这样做),将复制部分块。确实存在相同的问题write()。 观察:在实践中,我发现它dd可以应付块设备和常规文件,但这可能只是我没有做太多的事情。当涉及管道时,不难dd犯错。例如,尝试以下代码: yes | dd of=out bs=1024k count=10 并检查out文件的大小(可能在10MB以下)。 问题:在什么情况下可以dd安全地复制数据?换句话说,在块大小,实现,文件类型等上的什么条件可以确保dd将复制所有数据? (GNU dd有一个fullblock标志来告诉它调用read()或write()在循环中进行传输,以便传输完整的块。因此dd iflag=fullblock始终是安全的。我的问题是不使用这些标志(在其他实现中不存在)的情况) ¹ 我已经检查过OpenBSD,GNU coreutils和BusyBox。
60 io  dd 

5
/ dev / stdin,/ dev / stdout和/ dev / stderr的可移植性如何?
偶尔我需要指定一个“路径相当于”标准的IO流之一(的stdin,stdout,stderr)。由于我有99%的时间使用Linux,所以我只是假装/dev/get /dev/stdin等,这“ 似乎做对了”。但是,一方面,我一直对这样的理由感到不安(因为“当然,它似乎起作用”,直到不起作用为止)。此外,我对这种机动的便携性没有很好的认识。 所以我有几个问题: 在Linux中的情况下,它是安全(是/否)划上等号stdin, stdout以及stderr用/dev/stdin,/dev/stdout和 /dev/stderr? 更笼统地说,这种等效性“足够便携 ”吗? 我找不到任何POSIX参考。


3
确定负责高I / O的特定文件
这是一个简单的问题,但这是我第一次真正要修复它:查找哪些特定文件/节点是大多数I / O的目标。我希望能够获得一般的系统概述,但是如果我必须提供PID或TID,那就可以了。 我想不必strace对弹出的程序进行操作iotop。优选地,使用与iotop通过文件逐项列出的工具相同的工具。我可以lsof用来查看mailman打开了哪些文件,但没有指出哪个文件正在接收I / O或接收了多少文件。 我曾在其他地方建议使用它,auditd但我不希望这样做,因为它将信息放入我们的审核文件中,我们将其用于其他目的,这似乎是我应该能够研究的问题通过这种方式。 我现在遇到的特定问题是LVM快照填充得太快。此后,我已经解决了该问题,但希望能够以这种方式解决此问题,而不是仅对ls所有打开的文件描述符执行一次,/proc/<pid>/fd以查看哪个增长最快。

5
测量外壳中的管道吞吐量
有一个shell命令,它允许您测量数据通过数据的速度,因此您可以测量管道中命令输出的速度。所以代替: $ somecommand | anothercommand 您可以执行以下操作: $ somecommand | ??? | anothercommand 我认为吞吐量统计信息(字节/秒)会打印到stderr。但是我无法终生记得那个命令。


1
如何在Linux中获得总读写IOPS?
如何在Linux中使用命令行或以编程方式分别读写IOPS?我已经安装了sysstat软件包。 请告诉我如何使用sysstat打包命令分别计算这些值。 或者,是否可以使用文件系统来计算它们? 例如: /proc或/sys或/dev
32 linux  io  disk  read  write 


4
找出正在写入硬盘的进程
在我的Lenovo T400和Ubuntu上,硬盘驱动器写入指示灯一直闪烁。我想知道在Linux中是否可以找出正在对硬盘进行I / O的进程?与一样top,您可以找出哪些进程正在占用最多的CPU和内存。
31 linux  process  io 

12
如何调整Linux桌面以提高响应速度?
我的经验是,在物理内存耗尽之前,Linux可以正常工作。一旦使用交换空间,性能就会严重下降,GUI会变得无响应。 这个问题不仅限于特定的发行版或台式机,因为我已经尝试了一些(问题仍然存在)。 我该怎么办?
30 linux  kernel  performance  io  swap 

1
htop中颜色的含义
给定选项: [ ] Detailed CPU time (System/IO-Wait/Hard-IRQ/Soft-IRQ/Steal/Guest) 在htop(版本1.0.1)中颜色的含义是什么? 在下图中,我看到了很多我期望的IO-Wait,但是在哪里确定颜色的含义。 自然,这取决于使用的htop颜色主题(默认)和终端颜色方案(此处为日光),但是是否有参考? 注意:这通常是在服务器死机之前发生的,因此我想在有一段时间等待盒子恢复之前询问一下。
28 ubuntu  io  top  htop 

5
为什么遍历文件比将文件读入内存和计算两次快两倍?
我正在比较以下 tail -n 1000000 stdout.log | grep -c '"success": true' tail -n 1000000 stdout.log | grep -c '"success": false' 与以下 log=$(tail -n 1000000 stdout.log) echo "$log" | grep -c '"success": true' echo "$log" | grep -c '"success": false' 令人惊讶的是,第二个比第一个要花几乎三倍的时间。它应该更快,不是吗?
26 bash  performance  io 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.