<div dir="ltr">Page-faults by a process on writing OR reading are really not that different. In both cases, an attempt is made to read the physical address (corresponding to the virtual address) from the page-table BEFORE the <i>read </i>or <i>write </i>machine level instructions are executed. So, if the address to which writes (or reads) are being performed, does not have a valid page-table entry ie. a valid virtual address, a page-fault will be triggered.<div>
<br></div><div style>Best Regards</div><div style>Gaurav Jain</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 19, 2013 at 11:42 PM, Daniel Hilst Selli <span dir="ltr">&lt;<a href="mailto:danielhilst@gmail.com" target="_blank">danielhilst@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">My case is this, I&#39;m using collectd [1] with rrdtool [2] to monitor some<br>
server.<br>
a) When I enable rrdtool plugin I can grab collectd process as top page<br>
fault process on top command.<br>
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  nFLT COMMAND<br>
20128 root      18   0 4105m  35m  17m S  7.9  0.3 0:09.62  22k<br>
/opt/collectd/sbin/collectd<br>
b) Disabling rrdtool plugin dramastically decrease the number of page<br>
faults of collectd.<br>
c) I know that rrdtool plugin is known to generate a lot of small<br>
writes, as stated in [3]. Also I know the parameters to improving<br>
collectd&#39;s cache usage to save I/O, but this is not the question here..<br>
<br>
AFAIK, major page faults are generated when data that is not yet present<br>
on RAM is loaded from disk, but in this case data is being write do<br>
disk, I can&#39;t<br>
see how writes can generate faults, but still, it seems that is<br>
happening, ... !?<br>
<br>
Is that possible?<br>
<br>
Cheers,<br>
<br>
[1] <a href="http://www.collectd.org" target="_blank">http://www.collectd.org</a><br>
[2] <a href="http://oss.oetiker.ch/rrdtool/" target="_blank">http://oss.oetiker.ch/rrdtool/</a><br>
[3] <a href="https://collectd.org/wiki/index.php/Inside_the_RRDtool_plugin" target="_blank">https://collectd.org/wiki/index.php/Inside_the_RRDtool_plugin</a><br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><font face="arial, helvetica, sans-serif">Gaurav Jain</font><div><font face="arial, helvetica, sans-serif">Associate Software Engineer</font></div>
<div><font face="arial, helvetica, sans-serif">VxVM Escalations Team, SAMG<br></font></div><div><font face="arial, helvetica, sans-serif">Symantec Software India Pvt. Ltd.</font></div><div><font face="arial, helvetica, sans-serif"><br>
<br></font></div></div>
</div>