diff options
Diffstat (limited to 'SystemTap_Beginners_Guide/inodewatchsect.html')
| -rw-r--r-- | SystemTap_Beginners_Guide/inodewatchsect.html | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/SystemTap_Beginners_Guide/inodewatchsect.html b/SystemTap_Beginners_Guide/inodewatchsect.html index 5685bb7e..fdb2eeba 100644 --- a/SystemTap_Beginners_Guide/inodewatchsect.html +++ b/SystemTap_Beginners_Guide/inodewatchsect.html | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> | 1 | <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title xmlns:d="http://docbook.org/ns/docbook">5.2.5. Monitoring Reads and Writes to a File</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta xmlns:d="http://docbook.org/ns/docbook" name="generator" content="not publican" /><meta xmlns:d="http://docbook.org/ns/docbook" name="package" content="" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="traceio2sect.html" title="5.2.4. I/O Monitoring (By Device)" /><link rel="next" href="inodewatch2sect.html" title="5.2.6. Monitoring Changes to File Attributes" /></head><body><p id="title"></p><ul class="docnav top"><li class="previous"><a accesskey="p" href="traceio2sect.html"><strong>Prev</strong></a></li><li class="home">SystemTap Beginners Guide</li><li class="next"><a accesskey="n" href="inodewatch2sect.html"><strong>Next</strong></a></li></ul><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="inodewatchsect"> | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title xmlns:d="http://docbook.org/ns/docbook">5.2.5. Monitoring Reads and Writes to a File</title><link rel="stylesheet" type="text/css" href="Common_Content/css/default.css" /><link rel="stylesheet" media="print" href="Common_Content/css/print.css" type="text/css" /><meta xmlns:d="http://docbook.org/ns/docbook" name="generator" content="not publican" /><meta xmlns:d="http://docbook.org/ns/docbook" name="package" content="" /><link rel="home" href="index.html" title="SystemTap Beginners Guide" /><link rel="up" href="mainsect-disk.html" title="5.2. Disk" /><link rel="prev" href="traceio2sect.html" title="5.2.4. I/O Monitoring (By Device)" /><link rel="next" href="inodewatch2sect.html" title="5.2.6. Monitoring Changes to File Attributes" /></head><body><p id="title"></p><ul class="docnav top"><li class="previous"><a accesskey="p" href="traceio2sect.html"><strong>Prev</strong></a></li><li class="home">SystemTap Beginners Guide</li><li class="next"><a accesskey="n" href="inodewatch2sect.html"><strong>Next</strong></a></li></ul><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="inodewatchsect"> |
| 3 | </a>5.2.5. Monitoring Reads and Writes to a File</h3></div></div></div><a id="idm47006126746032" class="indexterm"></a><a id="idm47006130105056" class="indexterm"></a><a id="idm47006117447856" class="indexterm"></a><a id="idm47006129266768" class="indexterm"></a><a id="idm47006122837904" class="indexterm"></a><a id="idm47006118733728" class="indexterm"></a><div class="para">This section describes how to monitor reads from and writes to a file in real time. </div><div class="para"><div xmlns:d="http://docbook.org/ns/docbook" class="title">inodewatch.stp</div> | 3 | </a>5.2.5. Monitoring Reads and Writes to a File</h3></div></div></div><a id="idp71890959674000" class="indexterm"></a><a id="idp71890965470816" class="indexterm"></a><a id="idp71890963835456" class="indexterm"></a><a id="idp71890968939824" class="indexterm"></a><a id="idp71890965472656" class="indexterm"></a><a id="idp71890964626528" class="indexterm"></a><div class="para">This section describes how to monitor reads from and writes to a file in real time. </div><div class="para"><div xmlns:d="http://docbook.org/ns/docbook" class="title">inodewatch.stp</div> |
| 4 | <pre class="programlisting">#! /usr/bin/env stap | 4 | <pre class="programlisting">#! /usr/bin/env stap |
| 5 | 5 | ||
| 6 | probe vfs.write, vfs.read | 6 | probe vfs.{write,read} |
| 7 | { | 7 | { |
| 8 | # dev and ino are defined by vfs.write and vfs.read | 8 | # dev and ino are defined by vfs.write and vfs.read |
| 9 | if (dev == MKDEV($1,$2) # major/minor device | 9 | if (dev == MKDEV($1,$2) # major/minor device |
| @@ -13,6 +13,6 @@ probe vfs.write, vfs.read | |||
| 13 | } | 13 | } |
| 14 | </pre> | 14 | </pre> |
| 15 | </div><div class="para"><a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> takes the following information about the | 15 | </div><div class="para"><a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> takes the following information about the |
| 16 | file as arguments on the command line:</div><a id="idm47006121652960" class="indexterm"></a><a id="idm47006120313632" class="indexterm"></a><a id="idm47006118797904" class="indexterm"></a><a id="idm47006127408448" class="indexterm"></a><div xmlns:d="http://docbook.org/ns/docbook" class="itemizedlist"><ul><li class="listitem"><div class="para">The file's major device number.</div></li><li class="listitem"><div class="para">The file's minor device number.</div></li><li class="listitem"><div class="para">The file's <code class="command">inode</code> number.</div></li></ul></div><a id="idm47006128892704" class="indexterm"></a><a id="idm47006127587120" class="indexterm"></a><a id="idm47006128629424" class="indexterm"></a><div class="para">To get this information, use <code class="command">stat -c '%D %i' <em class="replaceable">filename</em></code>, where <code class="command"><em class="replaceable">filename</em></code> is an absolute path.</div><div class="para">For instance: to monitor <code class="filename">/etc/crontab</code>, run <code class="command">stat -c '%D %i' /etc/crontab</code> first. This gives the following output:</div><pre class="screen">805 1078319</pre><a id="idm47006120730128" class="indexterm"></a><a id="idm47006127471600" class="indexterm"></a><a id="idm47006118384288" class="indexterm"></a><div class="para"><code class="computeroutput">805</code> is the base-16 (hexadecimal) device number. The lower two digits are the minor device number and the upper digits are the major number. <code class="computeroutput">1078319</code> is the <code class="command">inode</code> number. To start monitoring <code class="filename">/etc/crontab</code>, run <code class="command">stap inodewatch.stp 0x8 0x05 1078319</code> (The <code class="command">0x</code> prefixes indicate base-16 values.</div><div class="para">The output of this command contains the name and ID of any process performing a read/write, the function it is performing (that is, <code class="command">vfs_read</code> or <code class="command">vfs_write</code>), the device number (in hex format), and the <code class="command">inode</code> number. <a class="xref" href="inodewatchsect.html#inodewatchoutput">Example 5.10, “inodewatch.stp Sample Output”</a> contains the output of <code class="command">stap inodewatch.stp 0x8 0x05 1078319</code> (when <code class="command">cat /etc/crontab</code> is executed while the script is running) :</div><div class="example"><a id="inodewatchoutput"> | 16 | file as arguments on the command line:</div><a id="idp71890963129600" class="indexterm"></a><a id="idp71890967063040" class="indexterm"></a><a id="idp71890972236816" class="indexterm"></a><a id="idp71890962129840" class="indexterm"></a><div xmlns:d="http://docbook.org/ns/docbook" class="itemizedlist"><ul><li class="listitem"><div class="para">The file's major device number.</div></li><li class="listitem"><div class="para">The file's minor device number.</div></li><li class="listitem"><div class="para">The file's <code class="command">inode</code> number.</div></li></ul></div><a id="idp71890962933440" class="indexterm"></a><a id="idp71890972684576" class="indexterm"></a><a id="idp71890966564128" class="indexterm"></a><div class="para">To get this information, use <code class="command">stat -c '%D %i' <em class="replaceable">filename</em></code>, where <code class="command"><em class="replaceable">filename</em></code> is an absolute path.</div><div class="para">For instance: to monitor <code class="filename">/etc/crontab</code>, run <code class="command">stat -c '%D %i' /etc/crontab</code> first. This gives the following output:</div><pre class="screen">805 1078319</pre><a id="idp71890969448096" class="indexterm"></a><a id="idp71890959759744" class="indexterm"></a><a id="idp71890961147376" class="indexterm"></a><div class="para"><code class="computeroutput">805</code> is the base-16 (hexadecimal) device number. The lower two digits are the minor device number and the upper digits are the major number. <code class="computeroutput">1078319</code> is the <code class="command">inode</code> number. To start monitoring <code class="filename">/etc/crontab</code>, run <code class="command">stap inodewatch.stp 0x8 0x05 1078319</code> (The <code class="command">0x</code> prefixes indicate base-16 values.</div><div class="para">The output of this command contains the name and ID of any process performing a read/write, the function it is performing (that is, <code class="command">vfs_read</code> or <code class="command">vfs_write</code>), the device number (in hex format), and the <code class="command">inode</code> number. <a class="xref" href="inodewatchsect.html#inodewatchoutput">Example 5.10, “inodewatch.stp Sample Output”</a> contains the output of <code class="command">stap inodewatch.stp 0x8 0x05 1078319</code> (when <code class="command">cat /etc/crontab</code> is executed while the script is running) :</div><div class="example"><a id="inodewatchoutput"> |
| 17 | </a><p class="title"><strong>Example 5.10. <a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> Sample Output</strong></p><div class="example-contents"><pre class="screen">cat(16437) vfs_read 0x800005/1078319 | 17 | </a><p class="title"><strong>Example 5.10. <a class="xref" href="inodewatchsect.html#inodewatch">inodewatch.stp</a> Sample Output</strong></p><div class="example-contents"><pre class="screen">cat(16437) vfs_read 0x800005/1078319 |
| 18 | cat(16437) vfs_read 0x800005/1078319</pre></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="traceio2sect.html"><strong>Prev</strong>5.2.4. I/O Monitoring (By Device)</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="inodewatch2sect.html"><strong>Next</strong>5.2.6. Monitoring Changes to File Attributes</a></li></ul></body></html> \ No newline at end of file | 18 | cat(16437) vfs_read 0x800005/1078319</pre></div></div></div><ul class="docnav"><li class="previous"><a accesskey="p" href="traceio2sect.html"><strong>Prev</strong>5.2.4. I/O Monitoring (By Device)</a></li><li class="up"><a accesskey="u" href="#"><strong>Up</strong></a></li><li class="home"><a accesskey="h" href="index.html"><strong>Home</strong></a></li><li class="next"><a accesskey="n" href="inodewatch2sect.html"><strong>Next</strong>5.2.6. Monitoring Changes to File Attributes</a></li></ul></body></html> \ No newline at end of file |
