Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Performance degradation over time on VAX...
After some thought, I realized that my data copy overhead was not a good one.
When I ran "dd if=/dev/rsd0c of=/dev/null bs=1m count=200" on the vs4k60,
the times were consistent from 4.0.1 to 11rc5 (all around 76 seconds).
So I asked this question on Google:
Why does the Unix dd command run slower with a small block size?
Here is a portion of the response:
1. High System Call (Syscall) Overhead
Every time dd reads or writes a block of data, it must execute a
read() and a write() system call.
Context Switching: Each system call forces the CPU to switch context
from user space to kernel space and back.
The Cost: If you transfer a 10 GB file using the default 512-byte
block size, dd must perform roughly 40 million system calls. If you
use bs=4M, it requires only 2,500 system calls. Minimizing this
context-switching overhead dramatically increases throughput.
I see that "lmbench" includes several tests related to system call
overhead as well as context switching. So that looks like a good
tool to try (plus it covers a broad range of topics).
Thank you for the suggestion!
Home |
Main Index |
Thread Index |
Old Index