Articles of 磁盘

如何停止我的Linux系统中的磁盘I / O的页面caching?

这里是我的系统基于Linux2.6.32.12: 1它包含20个占用大量usr cpu的进程2需要将数据以100M / s的速率写入磁盘,并且这些数据最近不会被使用。 我期望的是: 它可以稳定运行,磁盘I / O不会影响我的系统。 我的问题: 一开始,系统按我的想法运行。 但随着时间的推移,Linux会为磁盘I / Ocaching大量数据,导致物理内存减less。 最后,将没有足够的内存,那么Linux将交换进出我的进程。 这会导致很多CPU时间用于I / O的I / O问题。 我有什么尝试: 我试图通过“fsync”来解决这个问题,每次我写一个大块。但是物理内存在caching的同时还在递减。 如何停止页面caching在这里,对我来说是没用的 更多信息: 当Top显示免费46963m时,一切都很好,包括cpu%wa低,vmstat显示没有si左右。 当Top显示免费273m时,%wa是如此之高以至于影响我的进程,而vmstat显示了很多si等等。

在Linux中使用CLI only工具生成磁盘使用情况图表/图表

在这个问题中,有人要求在Linux中显示磁盘使用的方法。 我想进一步沿着这条路线走一步…如何从一个合理的答案的输出获取输出的shell脚本,并从中产生一个graphics/图表(输出在PNG文件或东西)? 这可能是一个普通的问题要求太多的代码,但我的猜测是,有人已经有一个oneliner铺设在某处…

Bash监视磁盘使用情况

我买了一个有debian的debian的NAS盒子。 前些天空间不足,我没有意识到。 我基本上想编写一个bash脚本,当磁盘达到90%以上时会提醒我。 有谁知道脚本会做到这一点,或给我一些build议,写一个?

通过一个进程计算总磁盘I / O

我正在寻找一个工具,它将在一个进程结束后,通过一个进程转储总的磁盘I / O。 到目前为止,我的发现是: iotop =它实时显示每个进程的I / O,但不会在进程结束后给出总计。 iostat =它显示实时I / O,但不告诉过程 例如 ,我有一些使用PID ####在后台运行的进程。 在stream程结束后,我需要总共写入和读取该进程的总字节数。任何人都可以告诉我如何在给定进程PID的情况下提取这些信息。

如何从USB加载LUKS密码,回落到键盘?

我想build立一个无盘的Linux(Debian Wheezy)个人电脑整盘encryption,能够用USB驱动器解锁磁盘,或通过键盘input密码短语。 我的出发点是使用Debian安装程序中的基本整盘encryption选项进行全新安装,它将/ boot之外的所有内容作为LUKSencryption的逻辑卷组进行pipe理,并为我提供了键盘选项。 我将在一个答案中描述我目前的解决scheme,希望能够有所帮助,其他人可以改进。 以下是我遇到的一些问题: 设置密码并将其放在USB驱动器上。 及时加载USB模块。 在尝试读取之前,等待Linux识别USB驱动器。 识别正确的USB驱动器(不是正好插入的其他驱动器)。 写一个“keyscript”从USB驱动器中取出密码。 确保在所有的USB故障情况下都能回退键盘。 我会接受一个有重大改进的答案,并且提供贡献的答案。

我怎样才能logging在GNU / Linux中使用磁盘的进程或内核活动?

在特定的Debian服务器上,iostat(以及类似的)报告正在进行的磁盘写入的意外高容量(以字节为单位)。 我无法确定哪个进程正在执行这些写操作。 两个有趣的点: 试图closures系统服务一次一个都无济于事。 磁盘活动保持相当稳定和意外高。 尽pipe写作,似乎并没有消耗更多的整个磁盘空间。 这两个都让我觉得这个写作可能是内核正在做的事情,但是我并没有交换,所以我不清楚Linux可能会写什么。 可以试试看: http://www.atcomputing.nl/Tools/atop/ 但是想避免修补我的内核。 任何想法如何跟踪这个?

在多个磁盘上传播mysql数据

我有一个大的mysql数据库和两个小磁盘上的centos,我怎么让它利用两个磁盘?

如何在testing期间模拟出现故障的磁盘?

在Linux VM(Vmware工作站或类似的)中,如何模拟以前工作的光盘上的故障? 生产中出现光盘故障(可能是控制器,电缆或固件问题)的情况。 显然这是不可预测或可重复的,我想testing我的监测,以确保它正确警报。 理想情况下,我希望能够模拟写入失败但成功读取的情况,以及完全失败的情况,即scsi接口将错误报告给内核。

强制将文件写入磁盘

我目前正在执行ping / pong缓冲scheme来安全地将文件写入磁盘。 我在Linux / CentOS机器上使用C ++ / Boost。 现在我面临的问题,迫使文件实际写入磁盘。 不pipe文件系统的所有caching策略(ext3 / ext4)/ SO自定义规则/ RAID控制器/硬盘控制器,是否可以这样做? 最好使用普通的fread()/ fwrite(),c ++ ostream或boost文件系统? 我听说只是刷新文件(fflush())并不能保证实际的写入 谢谢!

从Windows CLI刷新磁盘写入caching

有谁知道如何从Windows命令行中刷新当前目录(或任何给定的文件或目录)的cachingpipe理器中的磁盘写入caching数据?