Hot answers tagged

24 votes
Accepted

Why CPU spent time on IO(wa)?

The CPU idle status is divided in two different "sub"-states: iowait and idle. If the CPU is idle, the kernel then determines if there is at least one I/O currently in progress to either a local disk ...
  • 1,475
19 votes
Accepted

Evaluating the CPU I/O wait on Linux

You need to be careful when evaluating these figures. IOWait is related, but not necessarily linearly correlated with disk activity. The number of CPUs you have affects your percentage. A high IOWait ...
  • 23.1k
19 votes

Virtual machines and I/O heavy workload, is it ever sane?

Is it ever sane to use a Virtualized solution when performing I/O heavy workloads? Yep, very sane indeed, in fact for most organisations now virtual is the default and doing things on physical ...
  • 101k
19 votes
Accepted

Total I/O cost of a process

Try pidstat. Use it like this: pidstat -d -e command pidstat is able to report statistics for Linux tasks. The -d instructs pidstat to gather IO stats. pidstat will stop and print the report once the ...
16 votes

What does it mean when Linux has no I/O scheduler

It seems that on kernels >= 3.13 none is not an alias of noop anymore. It is shown when the blk-mq I/O framework is in use; this means a complete bypass of the old schedulers, as blk-mq has (right now)...
15 votes
Accepted

Dmesg full of I/O errors, smart ok, four disks affected

Your dd tests show the four disks all failing at the same LBA address. As it is extremely improbable that four disks all fail at the exact same location, I strongly suspect it is due to controller or ...
13 votes

linux: how to simulate hard disk latency? I want to increase iowait value without using a cpu power

device-mapper "delay" devices Look at the "delay" target for device-mapper devices. This is exactly why it exists. Example Here's an example of how to get that going: Create a ...
13 votes

MySQL extremely slow on very simple SELECT queries

If the cpu load is low then this indicates that there are no problems with missing indexes, if that was the case the query would just need take more cpu and disk access. Also you said it worked fine ...
12 votes

How to check disk I/O utilization per process?

Use atop. (http://www.atoptool.nl/) Write the data to a compressed file that atop can read later in an interactive style. Take a reading (delta) every 10 seconds. do it 1080 times (3 hours; so if ...
11 votes
Accepted

Interpreting read, write and total IO time in /proc/diskstats

I've not looked at the source code, but it seems the difference stems from two different accounting modes. The #4 and #8 fields sum the time each request take to complete. This means that parallel-...
10 votes

Virtual machines and I/O heavy workload, is it ever sane?

Is it ever sane to use a Virtualized solution when performing I/O heavy workloads? Does a database server regularly pulling 1gb/second random IO count? Have one here. Or a virtual file server ...
  • 51k
10 votes
Accepted

Why do sequential writes have better performance than random writes on SSDs?

A reasonably concise explanation by Seagate (WayBack copy here) on how garbage collection is responsible for the difference in SSD performance for random versus sequential writes: ... the need for ...
  • 73.3k
9 votes

MySQL extremely slow on very simple SELECT queries

You can trying a couple things, Do you have indexes setup? Indexing makes it possible to quickly find records without doing a full table scan first, cuts execution times dramatically. CREATE ...
8 votes
Accepted

How efficient is the tac command on large files

When used correctly, tac is comparably efficient to tail -- reading 8K blocks at a time, seeking from the back. "Correct use" requires, among other things, giving it a direct, seekable handle on your ...
7 votes

kworker consuming +90% IO and zero disk write

100% IO doesn't mean it's using all your IO operations. It means it's doing nothing but waiting on IO. Therefore, high %IO with low/zero disk bandwidth can be normal. man iotop: [...] It also ...
  • 265
7 votes
Accepted

Filesystem Performance for LUKS Encrypted Volumes?

I've been running LUKS encrypted filesystems for over a decade, with ext2/3/4, XFS, ZFS and maybe some other filesystems I've forgotten about. While I don't have any benchmarks handy, I do have a few ...
7 votes
Accepted

Centos7 - Buffer I/O error on dev sda, logical block xxxxxxxxx, lost async page write

Messages as Buffer I/O error on dev sda, logical block 886865171, lost async page write mean that an async write (ie: dirty page writeback or buffered writes) failed. You found these errors in ...
6 votes
Accepted

What does iodepth in fio tests really mean? Is it the queue depth?

(Please don't ask multiple questions in one post - it makes answering really difficult...) queue depth which is the number of outstanding I/O requests [...] which handles the I/O requests and sends ...
  • 1,230
6 votes
Accepted

Use F2FS on RAID0 within HDD?

Do not use RAID0, a failure of any one drive will kill the array. RAID6, RAID10, even a single drive with no array would be better for availability. f2fs intends to be friendly to modern solid state ...
5 votes
Accepted

Direct I/O on Linux

ext4 doesn't have a dio mount option (I believe AIX and Solaris do) but it does have dioread_lock and dioread_nolock mount options. From the mount(8) manual page: dioread_lock/dioread_nolock ...
  • 492
5 votes
Accepted

What does it mean when Linux has no I/O scheduler

From this Debian Wiki: Low-Latency IO-Scheduler (This step is not necessary for SSDs using the NVMe protocol instead of SATA, which bypass the traditional I/O scheduler and use the blk-mq ...
5 votes
Accepted

What are front merges in I/O scheduling and how can I tune this parameter?

The kernel documentation says it best: Sometimes it happens that a request enters the io scheduler that is contiguous with a request that is already on the queue. Either it fits in the back of ...
5 votes

What does the nomerge mean in Linux system?

0 does both a simple check for adjacent requests plus a look up in a data structure, 1 only does the simple check, and 2 does no merging. Have a look at the implementation, block/elevator.c in ...
5 votes

Does ionice has any effect on NFS client?

Note that my answer assumes you're using Linux, as I'm pretty sure the ionice command is Linux specific. The I/O scheduler operates at the block layer, not the filesystem layer. As a result, it only ...
5 votes

what is the relation between block size and IO?

I think the Wikipedia article explains it well enough: Absent simultaneous specifications of response-time and workload, IOPS are essentially meaningless. ... Like benchmarks, IOPS numbers ...
  • 73.3k
5 votes
Accepted

RAID 50 vs RAID 10 for performance?

RAID 10 is the performance king, especially for writes. You will avoid parity calculations and write penalties. https://www.xbyte.com/blog/post/testing-the-limits-of-the-dell-h710-raid-controller-...
  • 2,773
5 votes

Use F2FS on RAID0 within HDD?

Using F2FS on a classical HDD is not a good idea: while its random write performance will probably be higher then EXT4 or XFS, the sequential read speed on an aged filesystem will be very ...
4 votes

Azure IO performance

Azure VMs are sized based on their RAM and CPU cores, but all sizes are conspicuously lacking in storage performance, which always becomes the main culprit regardless of how many cores and memory you ...
  • 69.3k
4 votes

No Space left on device after Jenkins installation

maybe quota is enabled on the system. Check with repquota -as or cat /etc/fstab | grep quota (did not check if mkdir return No space left in case of quota)
4 votes

Does Linux, Apache HTTPD or PHP cache frequently / recently accessed files?

Yes, if it has enough RAM, the file system of Linux will cache these files. All other layers rely on the FS cache. There might be higher levels of caching that caches the generated output of the ...
  • 97.9k

Only top scored, non community-wiki answers of a minimum length are eligible