Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9037713
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 16, 20262026-06-16T09:18:35+00:00 2026-06-16T09:18:35+00:00

I was doing some experiments to learn more about Linux process states. So, there’s

  • 0

I was doing some experiments to learn more about Linux process states.

So, there’s a directory(named big_dir) with over a billion files in it(the directory has many sub-directories recursively), and then I run tar -cv big_dir | ssh anotherServer "tar -xv -C big_dir" and found out via executing top that, the tar process stays in D status. Meanwhile, the tar command keeps outputting the paths of the files.

I know that, the process was in D status because it was doing disk I/O, but why didn’t its status keep switching between D and R? Printing the file names under the directory must have used some CPU computation, isn’t it? Otherwise how could the find command know that it should print something?

If I run dd if=/dev/zero of=/dev/null, then the dd process status kept in R status from the top output. But why wasn’t it in D status? Wasn’t it doing I/O all the time?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-16T09:18:37+00:00Added an answer on June 16, 2026 at 9:18 am

    /dev/zero and /dev/null are pseudo-devices. So there’s no physical device behind them.

    If I do

    dd if=/dev/zero of=/tmp/zeroes
    

    then top does show me dd in the D status. However it does spend a lot of it’s time in R (in CPU time). top will simply sample the process table and consequently you may need to watch it for some time in order to see transient states.

    I suspect for your tar example above that the amount of time outputting to stdout is negligible compared to the disk time. Note also that outputting to stdout will also involve the windowing system writing and whilst it’s doing that the process will be sleeping. e.g. I’m running yes right now, and the majority of the work is being performed by my X server. The yes process is sleeping for most of the time I’m watching it (via top)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm doing some experiments with opengl in c for linux. I've got the following
I'm doing some experiments with path MTU discovery in Linux. As far as I
Update After doing some more experiments, I have to reformulate my question completely as
I am doing (want to do) some experiments with Linked Open Datasets particularly those
I am doing some experiments on my device - I want to be able
I'm doing some experiments locally that require some data from a production MySQL DB
Ok, so I've been doing some experiments with hash tables and different collision resolution
I'm looking at doing some initial tests and experiments with a toy language and
I'm making a small site with some jQuery-experiments (kinda' gamish). In each game there
I'm studying Knockoutjs and I'm doing some low-level experiments. Following an existing jsFiddle ko

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.