GNU/Linux >> Linux Esercitazione >  >> Linux

In quali unità sono le misure I/O nel tempo GNU?

Soluzione 1:

Dal manuale:

The `%I' and `%O' values are allegedly only `real'
input and output and do not include those supplied
by caching devices. The meaning of `real' I/O reported
by `%I' and `%O' may be muddled for workstations,
especially diskless ones.

Quindi le unità sono in I/O. Forse il codice sorgente sa cosa significa. Dalla documentazione della funzione di riepilogo in time.c:

...
I == file system inputs (ru_inblock)
...
O == file system outputs (ru_oublock)
...

ru_inblock e ru_oblock provengono da getrusage. Dal manuale getrusage:

ru_inblock (since Linux 2.6.22)
  The number of times the filesystem had to perform input.

ru_oublock (since Linux 2.6.22)
  The number of times the filesystem had to perform output.

Beh, non è particolarmente utile, ma LKML mostra le patch in discussione (https://lkml.org/lkml/2007/3/19/100) per aggiungere ru_inblock e ru_oublock:

As TASK_IO_ACCOUNTING currently counts bytes, we approximate blocks
count doing : nr_blocks = nr_bytes / 512

Un controllo sull'attuale codice sorgente del kernel (https://github.com/spotify/linux/blob/master/include/linux/task_io_accounting_ops.h) mostra:

/*
 * We approximate number of blocks, because we account bytes only.
 * A 'block' is 512 bytes
 */
static inline unsigned long task_io_get_inblock(const struct task_struct *p)
{
    return p->ioac.read_bytes >> 9;
}

e

/*
 * We approximate number of blocks, because we account bytes only.
 * A 'block' is 512 bytes
 */
static inline unsigned long task_io_get_oublock(const struct task_struct *p)
{
    return p->ioac.write_bytes >> 9;
}

In breve, sì, i blocchi sono di circa 512 byte ciascuno.

Soluzione 2:

immagino "input/output del filesystem" indica la dimensione del blocco, quindi se il filesystem sottostante è stato formattato con blocchi da 512 byte, restituisce quello, se qualcos'altro, allora quello.

Ma questa è solo un'ipotesi.


Linux
  1. Report di I/O dalla riga di comando di Linux

  2. Linux:quali sono i diversi modi per impostare i permessi dei file ecc. su Gnu/linux?

  3. Linux:quali file system su Linux archiviano il tempo di creazione?

  4. Quali sono le principali differenze tra Bsd e Gnu/linux Userland?

  5. pfSense vs Netgear router:quali sono le differenze principali?

Che cos'è Intel SGX e quali sono i vantaggi?

Quali sono i separatori di parole Readline?

useradd vs. adduser:quali sono le differenze?

Quali sono le directory di inclusione predefinite di GCC?

Quali sono gli svantaggi delle code di messaggi di Linux?

Quali sono i vantaggi del Logical Volume Manager