Page MenuHomeFreeBSD

Update various statements in vmstat(8) to match reality.
ClosedPublic

Authored by jhb on Jan 14 2018, 2:22 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Nov 26, 6:08 PM
Unknown Object (File)
Wed, Nov 20, 11:05 PM
Unknown Object (File)
Mon, Nov 18, 10:32 AM
Unknown Object (File)
Mon, Nov 18, 7:07 AM
Unknown Object (File)
Sun, Nov 17, 9:09 PM
Unknown Object (File)
Sun, Nov 17, 5:15 PM
Unknown Object (File)
Sun, Nov 17, 2:00 PM
Unknown Object (File)
Wed, Nov 13, 11:47 AM
Subscribers

Details

Summary
  • The process stats are actually thread counts rather than process counts.
  • Simplify various descriptions to remove mention of stats that are updated every 5 seconds (all VM related stats are now "instant", only the load average is updated every 5 seconds).
  • Don't make any mention of special treatment for processes that have been active in the last 20 seconds. We don't track that stat.
  • Rework the description of active virtual memory (in part to explain how bogus it can be, e.g. if a process maps a single page out of a multiple GB file, the entire file's size is considered active).
  • Simplify a few descriptions that implied their output was a value per interval. All of the "rate" values are per-second rates scaled across the interval.
Test Plan
  • ran into several of these things being wrong in the review of the most recent Absolute FreeBSD and tracked the errors down to errors in this manpage

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 14464
Build 14609: arc lint + arc unit

Event Timeline

usr.bin/vmstat/vmstat.8
263–269

I find this terminology confusing due to the conflict with the active page queue term. IMO this definition should acknowledge existence of the active queue and note that they are distinct.

297

Perhaps, by page daemon. It is still extremely inaccurate: as I understand, the value printed is the sum of the number of pages scanned by active and inactive scan and swapout deactivation.

jhb marked an inline comment as done.Jan 17 2018, 6:49 PM
jhb added inline comments.
usr.bin/vmstat/vmstat.8
263–269

I agree. I would actually prefer to even pick a different name, or to replace this stat with something more meaningful. As it is, this current stat seems of limited utility. It can be way over-stated. Right now on my 11.1 desktop with 16G of RAM and 1190M in the active queue (according to top), the "avm" stat from vmstat is 27G. I can't think of a better name than 'active' though.

297

Oof, I didn't know about the swapout case. It seems like that is intended to be somewhat similar (scanning pages to meet a paging target). Could perhaps say "pages scanned to satisfy paging targets"? I mostly think of it as "pages scanned by page daemon" myself.

jhb marked an inline comment as done.
  • Further tweaking and update similarly stale comments in the vmmeter header.
usr.bin/vmstat/vmstat.8
263–269

s/active/mapped/ globally ? It would be somewhat inconsistent that the header is 'avm' but perhaps we cannot change this. If we can, than mvm would be good.

297

It is fine now, or rather, good enough.

  • Use 'mapped' instead of 'active'.
usr.bin/vmstat/vmstat.8
263–269

Yes, I think mapped works. I don't know that we can rename the field in vmtotal due to ABI, so what I've done is leave the column 'avm' and put '(active)' in parentheses in the description. I left the note in saying that this is not the active page queue still.

usr.bin/vmstat/vmstat.8
266

One more 'active'.

273

mapped (previously called active in
.Nm
output)

might be ?

This revision is now accepted and ready to land.Jan 18 2018, 5:55 PM
bcr added a subscriber: bcr.

Don't forget to bump the .Dd for this content change. Thanks!

This revision was automatically updated to reflect the committed changes.