<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Трассировка ввода/вывода в Linux</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/49608.html</link>
    <description>Утилита blktrace (присутствует в репозиториях Ubuntu и Debian) позволяет &lt;br&gt;проконтролировать какие именно данные передаются для заданного блочного устройства.&lt;br&gt;&lt;br&gt;Например, посмотреть общую статистику и детали обмена данными с /dev/sda можно выполнив команду:&lt;br&gt;&lt;br&gt;   blktrace -d /dev/sda -o - &amp;#124; blkparse -i - &lt;br&gt;&lt;br&gt;где, blkparse фильтр для наглядного представления результатов.&lt;br&gt;&lt;br&gt;В качестве альтернативы можно предложить задействование механизма /proc/sys/vm/block_dump, &lt;br&gt;при записи 1 в этот файл начнется сбор данных, при записи 0 - результаты будут выведены в буфер dmesg.&lt;br&gt;Скрипт для упрощения разбора данных можно загрузить здесь:&lt;br&gt; http://www.digitalprognosis.com/opensource/scripts/top-disk-users&lt;br&gt;&lt;br&gt;&lt;br&gt;Мониторинг ввода/вывода не на уровне планировщика, а на уровне конечных процессов удобно проводить &lt;br&gt;при помощи утилиты iotop (http://guichaz.free.fr/iotop/)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;URL: http://prefetch.net/blog/index.php/2009/02/16/tracing-block-io-operations-on-linux-hosts-with-blktrace/&lt;br&gt;Обсуждается: http://www.opennet.ru/tips/i</description>

<item>
    <title>Трассировка ввода/вывода в Linux (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/49608.html#5</link>
    <pubDate>Thu, 19 Feb 2009 22:10:47 GMT</pubDate>
    <description>Поднимите руку, кто видел сварочный аппарат на RTOS.... &lt;br&gt;Во-о-о-о-о-т..., а японцаф, точно торкнуло -  MiSPO uITRON 4.0 RTOS =)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Трассировка ввода/вывода в Linux (vitek)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/49608.html#4</link>
    <pubDate>Thu, 19 Feb 2009 20:29:20 GMT</pubDate>
    <description>&amp;gt;У него сегодня был плохой день? :) &lt;br&gt;&lt;br&gt;павлинух иногда стебается... иногда по делу говорит..&lt;br&gt;а Вы только первое.&lt;br&gt;</description>
</item>

<item>
    <title>Трассировка ввода/вывода в Linux (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/49608.html#3</link>
    <pubDate>Thu, 19 Feb 2009 18:38:56 GMT</pubDate>
    <description>У него сегодня был плохой день? :)&lt;br&gt;</description>
</item>

<item>
    <title>Трассировка ввода/вывода в Linux (I3rain)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/49608.html#2</link>
    <pubDate>Thu, 19 Feb 2009 06:34:46 GMT</pubDate>
    <description>Ухты pavlinux говорит &quot;спасибо&quot; и делится кодом.&lt;br&gt;</description>
</item>

<item>
    <title>Трассировка ввода/вывода в Linux (pavlinux)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/49608.html#1</link>
    <pubDate>Wed, 18 Feb 2009 21:54:50 GMT</pubDate>
    <description>Переделанная &quot;Вкачествеальтернатива&quot;, скрипт с учётом ядра 2.6.28+&lt;br&gt;&lt;br&gt;&amp;gt; при записи 1 в этот файл начнется сбор данных, &lt;br&gt;&amp;gt; при записи 0 - результаты будут выведены в буфер dmesg.&lt;br&gt;&lt;br&gt;при записи 1, в этот файл, начнется вывод в буфер dmesg, &lt;br&gt;при записи 0 - прекратится, вывод в буфер dmesg.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;#!/bin/sh&lt;br&gt;&lt;br&gt;dmesg -c &amp;gt;/dev/null 2&amp;gt;&amp;1&lt;br&gt;echo 1 &amp;gt; /proc/sys/vm/block_dump&lt;br&gt;&lt;br&gt;# Timeout&lt;br&gt;sleep 60&lt;br&gt;&lt;br&gt;# Disable block dumping&lt;br&gt;echo 0 &amp;gt; /proc/sys/vm/block_dump&lt;br&gt;&lt;br&gt;&lt;br&gt;# Header&lt;br&gt;printf &quot;&#037;10s &#037;15s &#037;10s &#037;10s &#037;10s&#092;n&quot; CONUT COMMAND PID ACTION DEVICE&lt;br&gt;&lt;br&gt;# Hide the eyes child! It gets ugly from here on&lt;br&gt;IFS=&quot;&lt;br&gt;&quot;&lt;br&gt;&lt;br&gt;for line in $(dmesg &amp;#124; awk &apos;&#123;if ( $2 ~ &quot;READ&quot; &amp;#124;&amp;#124; $2 ~ &quot;WRITE&quot; ) &#123; &#092;&lt;br&gt;        print  $1 &quot; &quot; $2 &quot; &quot; $3 &quot; &quot; $NF&#125;&#125;&apos; &amp;#124; uniq -c &amp;#124; sort -nr );&lt;br&gt;             do&lt;br&gt;                num=$(echo $line &amp;#124; awk &apos;&#123;print $1&#125;&apos; )&lt;br&gt;                command=$(echo $line &amp;#124; awk &apos;&#123; print $2 &#125;&apos; &amp;#124; sed -re &apos;s/&#092;(&#091;&#091;:digit:&#093;&#093;+&#092;)://&apos;)&lt;br&gt;                pid=$(echo $line&amp;#124; awk -F&apos;&#091;()&#093;&apos; &apos;&#123; print $2 &#125;&apos;)&lt;br&gt;             </description>
</item>

</channel>
</rss>
