aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/procstat/procstat_vm.c
Commit message (Collapse)AuthorAgeFilesLines
* Consistently use __FBSDID("FreeBSD") for ids in usr.bin/procstat.Konstantin Belousov2020-09-271-2/+3
| | | | | | | | | Submitted by: Juraj Lutter <juraj@lutter.sk> MFC after: 1 week Differential revision: https://reviews.freebsd.org/D26568 Notes: svn path=/head/; revision=366210
* Show wiring state of map entries in procstat -v.Mark Johnston2019-03-051-2/+6
| | | | | | | | | | | | | Note that only entries wired by userspace are shown as such. In particular, entries transiently wired by sysctl_wire_old_buffer() are not flagged as wired in procstat -v output. Reviewed by: kib (previous version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D19461 Notes: svn path=/head/; revision=344823
* various: general adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-271-0/+2
| | | | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. No functional change intended. Notes: svn path=/head/; revision=326276
* Switch procstat from subcommand flags to verbsBrooks Davis2017-10-141-1/+1
| | | | | | | | | | | | | - Use an enumerated value instead of separate flags for commands - Look for a verb if no command flag is set - Lookup the "xocontainer" value based on the command - Document the new command verbs in the man-page Submitted by: kdrakehp@zoho.com Differential Revision: https://reviews.freebsd.org/D10916 Notes: svn path=/head/; revision=324619
* Introduce libxo to procstat(1)Allan Jude2015-09-051-20/+69
| | | | | | | | | | | Reviewed by: rodrigc, bapt Approved by: marcel (mentor) Relnotes: yes Sponsored by: ScaleEngine Inc. Differential Revision: https://reviews.freebsd.org/D2446 Notes: svn path=/head/; revision=287486
* In "procstat -v" (VM), spell out 'FL' to 'FLAG' since there are two extraRobert Watson2014-07-201-2/+2
| | | | | | | | | | | | columns available anyway. Also left align as we tend to do for flags fields, although you can't see that currently as the string fully fills that available columns. MFC after: 3 days Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=268925
* Expose OBJT_MGTDEVICE VM objects used for GEM/TTM with drm2 as anJohn Baldwin2014-02-111-0/+3
| | | | | | | | | | explicit object type. Reviewed by: kib MFC after: 1 week Notes: svn path=/head/; revision=261780
* Use more generic procstat_getvmmap(3) for retrieving VM layout of a process.Mikolaj Golub2013-04-201-2/+2
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=249669
* Align the header with output.Mikolaj Golub2012-07-241-1/+1
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=238753
* - Add support for displaying process stack memory regions.Gabor Pali2012-07-161-1/+3
| | | | | | | | Approved by: rwatson MFC after: 3 days Notes: svn path=/head/; revision=238527
* When displaying process virtual memory mappings print superpageMikolaj Golub2011-11-071-2/+3
| | | | | | | | | | mapping flag. Submitted by: Mel Flynn <mel.flynn+fbsd.hackers@mailing.thruhere.net> Reviewed by: alc, rwatson Notes: svn path=/head/; revision=227317
* - Commit work from libprocstat project. These patches add support for runtimeStanislav Sedov2011-05-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | file and processes information retrieval from the running kernel via sysctl in the form of new library, libprocstat. The library also supports KVM backend for analyzing memory crash dumps. Both procstat(1) and fstat(1) utilities have been modified to take advantage of the library (as the bonus point the fstat(1) utility no longer need superuser privileges to operate), and the procstat(1) utility is now able to display information from memory dumps as well. The newly introduced fuser(1) utility also uses this library and able to operate via sysctl and kvm backends. The library is by no means complete (e.g. KVM backend is missing vnode name resolution routines, and there're no manpages for the library itself) so I plan to improve it further. I'm commiting it so it will get wider exposure and review. We won't be able to MFC this work as it relies on changes in HEAD, which was introduced some time ago, that break kernel ABI. OTOH we may be able to merge the library with KVM backend if we really need it there. Discussed with: rwatson Notes: svn path=/head/; revision=221807
* Revert most part of 200420 as requested, as more review and polish isXin LI2009-12-131-0/+1
| | | | | | | needed. Notes: svn path=/head/; revision=200462
* Remove unneeded header includes from usr.bin/ except contributed code.Xin LI2009-12-111-1/+0
| | | | | | | Tested with: make universe Notes: svn path=/head/; revision=200420
* Add a new type of VM object: OBJT_SG. An OBJT_SG object is very similar toJohn Baldwin2009-07-241-0/+3
| | | | | | | | | | | | | | a device pager (OBJT_DEVICE) object in that it uses fictitious pages to provide aliases to other memory addresses. The primary difference is that it uses an sglist(9) to determine the physical addresses for a given offset into the object instead of invoking the d_mmap() method in a device driver. Reviewed by: alc Approved by: re (kensmith) MFC after: 2 weeks Notes: svn path=/head/; revision=195840
* Include param.h instead of types.h before user.h so that the nestedRobert Watson2008-12-291-1/+1
| | | | | | | | | include of param.h can be removed from audit.h. MFC after: 3 weeks Notes: svn path=/head/; revision=186567
* Do not segfault when procstat -f or procstat -v is called on a process notJoe Marcus Clarke2008-12-191-0/+2
| | | | | | | | | | | owned by the current user. If kinfo_getfile() or kinfo_getvmmap() return NULL, simply exit, and do not try and derefernce the memory. Reviewed by: peter Approved by: peter Notes: svn path=/head/; revision=186315
* Update format string for kve_start/end.Peter Wemm2008-12-021-2/+3
| | | | Notes: svn path=/head/; revision=185563
* Merge user/peter/kinfo branch as of r185547 into head.Peter Wemm2008-12-021-35/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changes struct kinfo_filedesc and kinfo_vmentry such that they are same on both 32 and 64 bit platforms like i386/amd64 and won't require sysctl wrapping. Two new OIDs are assigned. The old ones are available under COMPAT_FREEBSD7 - but it isn't that simple. The superceded interface was never actually released on 7.x. The other main change is to pack the data passed to userland via the sysctl. kf_structsize and kve_structsize are reduced for the copyout. If you have a process with 100,000+ sockets open, the unpacked records require a 132MB+ copyout. With packing, it is "only" ~35MB. (Still seriously unpleasant, but not quite as devastating). A similar problem exists for the vmentry structure - have lots and lots of shared libraries and small mmaps and its copyout gets expensive too. My immediate problem is valgrind. It traditionally achieves this functionality by parsing procfs output, in a packed format. Secondly, when tracing 32 bit binaries on amd64 under valgrind, it uses a cross compiled 32 bit binary which ran directly into the differing data structures in 32 vs 64 bit mode. (valgrind uses this to track file descriptor operations and this therefore affected every single 32 bit binary) I've added two utility functions to libutil to unpack the structures into a fixed record length and to make it a little more convenient to use. Notes: svn path=/head/; revision=185548
* WARNS fixes: mainly constness and avoid comparing signed withDavid Malone2008-02-081-2/+3
| | | | | | | | unsigned by making array indicies unsigned. Also note one or two unused parameters. Notes: svn path=/head/; revision=176107
* Add procstat(1), a process inspection utility. This provides both someRobert Watson2007-12-021-0/+130
of the missing functionality from procfs(4) and new functionality for monitoring and debugging specific processes. procstat(1) operates in the following modes: -b Display binary information for the process. -c Display command line arguments for the process. -f Display file descriptor information for the process. -k Display the stacks of kernel threads in the process. -s Display security credential information for the process. -t Display thread information for the process. -v Display virtual memory mappings for the process. Further revision and modes are expected. Testing, ideas, etc: cognet, sam, Skip Ford <skip at menantico dot com> Wesley Shields <wxs at atarininja dot org> Notes: svn path=/head/; revision=174199