1

I'm quite familiar with Linux, just now starting to learn Solaris. To benchmark a filesystem on Linux, I might use dd:

dd if=/dev/zero of=/mnt/nas11/temp bs=1M count=1000 conv=fdatasync
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 2.96195 s, 354 MB/s

But on Solaris 11.4 it does not display the speed. Is there some way to make it show the speed? I know I can run this with time but then I want the computer to do the math for me.

dd if=/dev/zero of=/tank/ddtest bs=1000000 count=100 && sync
100+0 records in
100+0 records out

It seems that many "standard" tools work differently here, like conv=fdatasync doesn't work.

  • What version of Solaris? Back in the day, I would have to install the GNU tools separately; they'd have a 'g' in front of the tool name. Does gdd exist? – ajgringo619 Aug 28 '19 at 0:41
  • This is 7.4. I will look into the GNU tools, thanks – Elliott B Aug 28 '19 at 0:42
  • 2
    dd is a POSIX-standard utility. Features such as conv=fdatasync on Linux are non-standard, non-portable GNU extensions to the standard utility. If you need to time a command, you can use the POSIX-standard time utility. – Andrew Henle Aug 28 '19 at 10:46
  • There was no "Solaris 7.4" release. Do you mean Solaris 11.4 from 2018 or Solaris 7 update 4 from 1999? You can't expect a 20-year old OS to operate the same as modern OS'es. – alanc Aug 29 '19 at 0:00
  • Sorry yes I meant 11.4 – Elliott B Aug 29 '19 at 0:00
2

See pipe viewerpv. It is a default tool on Solaris. You can use it like:

dd if=/dev/zero count=100000 2>/dev/null|pv|dd of=/dev/null 2>/dev/null
48.8MiB 0:00:01 [35.9MiB/s] [        <=> ]
1

gdd is the version of dd that you want to use. On Solaris, GNU tools are installed with a 'g' in front; for example, the GNU version of tar would be called as gtar.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.