[Users] ioacct weirdness?
Mark Johanson
mjohanson at a2hosting.com
Tue Jul 21 14:57:36 PDT 2015
I will certainly take a look at the iostats and see if that will help. I was tasked with doing this to find a user(s) that are chewing through the ssd disks on one particular node. So I figured finding out who was doing all the writes might help figure that out, and seemed to be until today and that one users odd reading.
On 07/21, Kir Kolyshkin wrote:
> Just one thing -- ioacct accounts on a VFS level, not on actual disk I/O
> level.
> Also, ioacct accounts all reads and writes, including tmpfs and /proc and
> /sys etc.
>
> Say, if you rewrite a file (a real file on disk) a thousand times real
> quick, it does not
> mean the data will be written to a disk a thousand times -- more probably
> just once.
>
> Maybe you want to look into iostat rather than ioacct?
>
> https://openvz.org/IO_statistics
>
>
> On 07/21/2015 12:39 PM, Mark Johanson wrote:
> >So as it was explained to me before, the vm specific ioacct file resets when the vm is restarted. Which seemed to work and make sence until today. I have a vm that according to that file has made 403G of writes since it was restarted yesterday.
> >
> >(1 day) VE WWWW 403 GB in average daily writes and 403 GB in total since it was last rebooted
> >(51 days) VE XXXX 9 GB in average daily writes and 487 GB in total since it was last rebooted
> >(11 days) VE YYYY 5 GB in average daily writes and 60 GB in total since it was last rebooted
> >(51 days) VE ZZZZ 2 GB in average daily writes and 132 GB in total since it was last rebooted
> >
> >*above day listings are from me just checking on their uptimes.
> >
> >My Script runs as:
> >
> >for veid in `vzlist -Hoveid`; do #run in all running vms
> > a=`vzctl exec $veid uptime | awk '{print $3}'` #grab uptime from vm
> > b=`grep write /proc/bc/$veid/ioacct | awk '{print $2}'` #grab write information from ioacct file for vm
> > c=`echo "$b/$a" | bc` #divide writes by days up
> > d=`echo "$c/1073741824" | bc` #daily writes in GB
> > e=`echo "$b/1073741824" | bc` #total wirtes since uptime in GB
> > echo "VE $veid $d GB in average daily writes and $e GB in total since it was last rebooted" #spit out results per vm
> >done
> >
> >The ioacct file for this vm contains:
> >
> > read 121361661952
> > write 433471070208
> > dirty 2439431475200
> > cancel 2005960404992
> > missed 0
> > syncs_total 5
> > fsyncs_total 179645
> > fdatasyncs_total 48312
> > range_syncs_total 0
> > syncs_active 0
> > fsyncs_active 0
> > fdatasyncs_active 0
> > range_syncs_active 0
> > io_pbs 0
> > fuse_requests 0
> > fuse_bytes 0
> > So based on the write numbers (I do understand that dirty is unwritten and canceled is data not written during a flush) it comes out to 403G in writes since its reboot Mon Jul 20 08:46.
> > Am I completely off on my math? Seemed to be working just fine until this vm spit out a 403G number. Am I missing something else?
> >_______________________________________________
> >Users mailing list
> >Users at openvz.org
> >https://lists.openvz.org/mailman/listinfo/users
>
> _______________________________________________
> Users mailing list
> Users at openvz.org
> https://lists.openvz.org/mailman/listinfo/users
More information about the Users
mailing list