1 '\" te 2 .\" Copyright (c) 2006, 2009 Sun Microsystems, Inc. All Rights Reserved. 3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. 4 .\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with 5 .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] 6 .TH PRSTAT 1M "Jun 25, 2009" 7 .SH NAME 8 prstat \- report active process statistics 9 .SH SYNOPSIS 10 .LP 11 .nf 12 \fBprstat\fR [\fB-acHJLmRrtTv\fR] [\fB-d\fR u | d] [\fB-C\fR \fIpsrsetlist\fR] [\fB-h\fR \fIlgrplist\fR] 13 [\fB-j\fR \fIprojlist\fR] [\fB-k\fR \fItasklist\fR] [\fB-n\fR \fIntop\fR[,\fInbottom\fR]] 14 [\fB-p\fR \fIpidlist\fR] [\fB-P\fR \fIcpulist\fR] [\fB-s\fR \fIkey\fR | \fB-S\fR \fIkey\fR ] 15 [\fB-u\fR \fIeuidlist\fR] [\fB-U\fR \fIuidlist\fR] [\fB-z\fR \fIzoneidlist\fR] [\fB-Z\fR] 16 [\fIinterval\fR [\fIcount\fR]] 17 .fi 18 19 .SH DESCRIPTION 20 .sp 21 .LP 22 The \fBprstat\fR utility iteratively examines all active processes on the 23 system and reports statistics based on the selected output mode and sort order. 24 \fBprstat\fR provides options to examine only processes matching specified 25 \fBPID\fRs, \fBUID\fRs, zone \fBID\fRs, \fBCPU\fR \fBID\fRs, and processor set 26 \fBID\fRs. 27 .sp 28 .LP 29 The \fB-j\fR, \fB-k\fR, \fB-C\fR, \fB-p\fR, \fB-P\fR, \fB-u\fR, \fB-U\fR, and 30 \fB-z\fR options accept lists as arguments. Items in a list can be either 31 separated by commas or enclosed in quotes and separated by commas or spaces. 32 .sp 33 .LP 34 If you do not specify an option, \fBprstat\fR examines all processes and 35 reports statistics sorted by \fBCPU\fR usage. 36 .SH OPTIONS 37 .sp 38 .LP 39 The following options are supported: 40 .sp 41 .ne 2 42 .na 43 \fB\fB-a\fR\fR 44 .ad 45 .sp .6 46 .RS 4n 47 Report information about processes and users. In this mode \fBprstat\fR 48 displays separate reports about processes and users at the same time. 49 .RE 50 51 .sp 52 .ne 2 53 .na 54 \fB\fB-c\fR\fR 55 .ad 56 .sp .6 57 .RS 4n 58 Print new reports below previous reports instead of overprinting them. 59 .RE 60 61 .sp 62 .ne 2 63 .na 64 \fB\fB-C\fR \fIpsrsetlist\fR\fR 65 .ad 66 .sp .6 67 .RS 4n 68 Report only processes or lwps that are bound to processor sets in the given 69 list. Each processor set is identified by an integer as reported by 70 \fBpsrset\fR(1M). The load averages displayed are the sum of the load averages 71 of the specified processor sets (see \fBpset_getloadavg\fR(3C)). Processes with 72 one or more LWPs bound to processor sets in the given list are reported even 73 when the \fB-L\fR option is not used. 74 .RE 75 76 .sp 77 .ne 2 78 .na 79 \fB\fB-d\fR \fBu | d\fR\fR 80 .ad 81 .sp .6 82 .RS 4n 83 Specify \fBu\fR for a printed representation of the internal representation of 84 time. See \fBtime\fR(2). Specify \fBd\fR for standard date format. See 85 \fBdate\fR(1). 86 .RE 87 88 .sp 89 .ne 2 90 .na 91 \fB\fB-h\fR \fIlgrplist\fR\fR 92 .ad 93 .sp .6 94 .RS 4n 95 Report only processes or lwps whose home \fIlgroup\fR is in the given list of 96 \fIlgroups\fR. No processes or lwps will be listed for invalid \fIlgroups\fR. 97 .RE 98 99 .sp 100 .ne 2 101 .na 102 \fB\fB-H\fR\fR 103 .ad 104 .sp .6 105 .RS 4n 106 Report information about home \fIlgroup\fR. In this mode, \fBprstat\fR adds an 107 extra column showing process or lwps home \fIlgroup\fR with the header LGRP. 108 .RE 109 110 .sp 111 .ne 2 112 .na 113 \fB\fB-j\fR \fIprojlist\fR\fR 114 .ad 115 .sp .6 116 .RS 4n 117 Report only processes or lwps whose project \fBID\fR is in the given list. Each 118 project \fBID\fR can be specified as either a project name or a numerical 119 project \fBID\fR. See \fBproject\fR(4). 120 .RE 121 122 .sp 123 .ne 2 124 .na 125 \fB\fB-J\fR\fR 126 .ad 127 .sp .6 128 .RS 4n 129 Report information about processes and projects. In this mode \fBprstat\fR 130 displays separate reports about processes and projects at the same time. 131 .RE 132 133 .sp 134 .ne 2 135 .na 136 \fB\fB-k\fR \fItasklist\fR\fR 137 .ad 138 .sp .6 139 .RS 4n 140 Report only processes or lwps whose task \fBID\fR is in \fItasklist\fR. 141 .RE 142 143 .sp 144 .ne 2 145 .na 146 \fB\fB-L\fR\fR 147 .ad 148 .sp .6 149 .RS 4n 150 Report statistics for each light-weight process (\fBLWP\fR). By default, 151 \fBprstat\fR reports only the number of \fBLWP\fRs for each process. 152 .RE 153 154 .sp 155 .ne 2 156 .na 157 \fB\fB-m\fR\fR 158 .ad 159 .sp .6 160 .RS 4n 161 Report microstate process accounting information. In addition to all fields 162 listed in \fB-v\fR mode, this mode also includes the percentage of time the 163 process has spent processing system traps, text page faults, data page faults, 164 waiting for user locks and waiting for \fBCPU\fR (latency time). 165 .RE 166 167 .sp 168 .ne 2 169 .na 170 \fB\fB-n\fR \fIntop\fR[\fI,nbottom\fR]\fR 171 .ad 172 .sp .6 173 .RS 4n 174 Restrict number of output lines. The \fIntop\fR argument determines how many 175 lines of process or \fBlwp\fR statistics are reported, and the \fInbottom\fR 176 argument determines how many lines of user, task, or projects statistics are 177 reported if the \fB-a\fR, \fB-t\fR, \fB-T\fR, or \fB-J\fR options are 178 specified. By default, \fBprstat\fR displays as many lines of output that fit 179 in a window or terminal. When you specify the \fB-c\fR option or direct the 180 output to a file, the default values for \fBntop\fR and \fBnbottom\fR are 181 \fB15\fR and \fB5\fR. 182 .RE 183 184 .sp 185 .ne 2 186 .na 187 \fB\fB-p\fR \fIpidlist\fR\fR 188 .ad 189 .sp .6 190 .RS 4n 191 Report only processes whose process \fBID\fR is in the given list. 192 .RE 193 194 .sp 195 .ne 2 196 .na 197 \fB\fB-P\fR \fIcpulist\fR\fR 198 .ad 199 .sp .6 200 .RS 4n 201 Report only processes or \fBlwp\fRs which have most recently executed on a 202 \fBCPU\fR in the given list. Each \fBCPU\fR is identified by an integer as 203 reported by \fBpsrinfo\fR(1M). 204 .RE 205 206 .sp 207 .ne 2 208 .na 209 \fB\fB-R\fR\fR 210 .ad 211 .sp .6 212 .RS 4n 213 Put \fBprstat\fR in the real time scheduling class. When this option is used, 214 \fBprstat\fR is given priority over time-sharing and interactive processes. 215 This option is available only for superuser. 216 .RE 217 218 .sp 219 .ne 2 220 .na 221 \fB\fB-r\fR\fR 222 .ad 223 .sp .6 224 .RS 4n 225 Disable lookups for user names and project names. (Note that this does not 226 apply to lookups for the \fB-j\fR, \fB-u\fR, or \fB-U\fR options.) 227 .RE 228 229 .sp 230 .ne 2 231 .na 232 \fB\fB-s\fR \fIkey\fR\fR 233 .ad 234 .sp .6 235 .RS 4n 236 Sort output lines (that is, processes, \fBlwp\fRs, or users) by \fIkey\fR in 237 descending order. Only one \fIkey\fR can be used as an argument. 238 .sp 239 There are five possible key values: 240 .sp 241 .ne 2 242 .na 243 \fBcpu\fR 244 .ad 245 .sp .6 246 .RS 4n 247 Sort by process \fBCPU\fR usage. This is the default. 248 .RE 249 250 .sp 251 .ne 2 252 .na 253 \fBpri\fR 254 .ad 255 .sp .6 256 .RS 4n 257 Sort by process priority. 258 .RE 259 260 .sp 261 .ne 2 262 .na 263 \fBrss\fR 264 .ad 265 .sp .6 266 .RS 4n 267 Sort by resident set size. 268 .RE 269 270 .sp 271 .ne 2 272 .na 273 \fBsize\fR 274 .ad 275 .sp .6 276 .RS 4n 277 Sort by size of process image. 278 .RE 279 280 .sp 281 .ne 2 282 .na 283 \fBtime\fR 284 .ad 285 .sp .6 286 .RS 4n 287 Sort by process execution time. 288 .RE 289 290 .RE 291 292 .sp 293 .ne 2 294 .na 295 \fB\fB-S\fR \fIkey\fR\fR 296 .ad 297 .sp .6 298 .RS 4n 299 Sort output lines by \fIkey\fR in ascending order. Possible \fIkey\fR values 300 are the same as for the \fB-s\fR option. See \fB-s\fR. 301 .RE 302 303 .sp 304 .ne 2 305 .na 306 \fB\fB-t\fR\fR 307 .ad 308 .sp .6 309 .RS 4n 310 Report total usage summary for each user. The summary includes the total number 311 of processes or \fBLWP\fRs owned by the user, total size of process images, 312 total resident set size, total cpu time, and percentages of recent cpu time and 313 system memory. 314 .RE 315 316 .sp 317 .ne 2 318 .na 319 \fB\fB-T\fR\fR 320 .ad 321 .sp .6 322 .RS 4n 323 Report information about processes and tasks. In this mode \fBprstat\fR 324 displays separate reports about processes and tasks at the same time. 325 .RE 326 327 .sp 328 .ne 2 329 .na 330 \fB\fB-u\fR \fIeuidlist\fR\fR 331 .ad 332 .sp .6 333 .RS 4n 334 Report only processes whose effective user \fBID\fR is in the given list. Each 335 user \fBID\fR may be specified as either a login name or a numerical user 336 \fBID\fR. 337 .RE 338 339 .sp 340 .ne 2 341 .na 342 \fB\fB-U\fR \fIuidlis\fRt\fR 343 .ad 344 .sp .6 345 .RS 4n 346 Report only processes whose real user \fBID\fR is in the given list. Each user 347 \fBID\fR may be specified as either a login name or a numerical user \fBID\fR. 348 .RE 349 350 .sp 351 .ne 2 352 .na 353 \fB\fB-v\fR\fR 354 .ad 355 .sp .6 356 .RS 4n 357 Report verbose process usage. This output format includes the percentage of 358 time the process has spent in user mode, in system mode, and sleeping. It also 359 includes the number of voluntary and involuntary context switches, system calls 360 and the number of signals received. Statistics that are not reported are marked 361 with the \fB-\fR sign. 362 .RE 363 364 .sp 365 .ne 2 366 .na 367 \fB\fB-z\fR \fIzoneidlist\fR\fR 368 .ad 369 .sp .6 370 .RS 4n 371 Report only processes or LWPs whose zone ID is in the given list. Each zone ID 372 can be specified as either a zone name or a numerical zone ID. See 373 \fBzones\fR(5). 374 .RE 375 376 .sp 377 .ne 2 378 .na 379 \fB\fB-Z\fR\fR 380 .ad 381 .sp .6 382 .RS 4n 383 Report information about processes and zones. In this mode, \fBprstat\fR 384 displays separate reports about processes and zones at the same time. 385 .RE 386 387 .SH OUTPUT 388 .sp 389 .LP 390 The following list defines the column headings and the meanings of a 391 \fBprstat\fR report: 392 .sp 393 .ne 2 394 .na 395 \fBPID\fR 396 .ad 397 .sp .6 398 .RS 4n 399 The process \fBID\fR of the process. 400 .RE 401 402 .sp 403 .ne 2 404 .na 405 \fBUSERNAME\fR 406 .ad 407 .sp .6 408 .RS 4n 409 The real user (login) name or real user \fBID\fR. 410 .RE 411 412 .sp 413 .ne 2 414 .na 415 \fBSWAP\fR 416 .ad 417 .sp .6 418 .RS 4n 419 The total virtual memory size of the process, including all mapped files and 420 devices, in kilobytes (\fBK\fR), megabytes (\fBM\fR), or gigabytes (\fBG\fR). 421 .RE 422 423 .sp 424 .ne 2 425 .na 426 \fBRSS\fR 427 .ad 428 .sp .6 429 .RS 4n 430 The resident set size of the process (\fBRSS\fR), in kilobytes (\fBK\fR), 431 megabytes (\fBM\fR), or gigabytes (\fBG\fR). The RSS value is an estimate 432 provided by \fBproc\fR(4) that might underestimate the actual resident set 433 size. Users who want to get more accurate usage information for capacity 434 planning should use the \fB-x\fR option to \fBpmap\fR(1) instead. 435 .RE 436 437 .sp 438 .ne 2 439 .na 440 \fBSTATE\fR 441 .ad 442 .sp .6 443 .RS 4n 444 The state of the process: 445 .sp 446 .ne 2 447 .na 448 \fBcpu\fIN\fR\fR 449 .ad 450 .sp .6 451 .RS 4n 452 Process is running on \fBCPU\fR \fIN\fR. 453 .RE 454 455 .sp 456 .ne 2 457 .na 458 \fBsleep\fR 459 .ad 460 .sp .6 461 .RS 4n 462 Sleeping: process is waiting for an event to complete. 463 .RE 464 465 .sp 466 .ne 2 467 .na 468 \fBwait\fR 469 .ad 470 .sp .6 471 .RS 4n 472 Waiting: process is waiting for CPU usage to drop to the CPU-caps enforced 473 limits. See the description of \fBCPU-caps\fR in \fBresource_controls\fR(5). 474 .RE 475 476 .sp 477 .ne 2 478 .na 479 \fBrun\fR 480 .ad 481 .sp .6 482 .RS 4n 483 Runnable: process in on run queue. 484 .RE 485 486 .sp 487 .ne 2 488 .na 489 \fBzombie\fR 490 .ad 491 .sp .6 492 .RS 4n 493 Zombie state: process terminated and parent not waiting. 494 .RE 495 496 .sp 497 .ne 2 498 .na 499 \fBstop\fR 500 .ad 501 .sp .6 502 .RS 4n 503 Process is stopped. 504 .RE 505 506 .RE 507 508 .sp 509 .ne 2 510 .na 511 \fBPRI\fR 512 .ad 513 .sp .6 514 .RS 4n 515 The priority of the process. Larger numbers mean higher priority. 516 .RE 517 518 .sp 519 .ne 2 520 .na 521 \fBNICE\fR 522 .ad 523 .sp .6 524 .RS 4n 525 Nice value used in priority computation. Only processes in certain scheduling 526 classes have a nice value. 527 .RE 528 529 .sp 530 .ne 2 531 .na 532 \fBTIME\fR 533 .ad 534 .sp .6 535 .RS 4n 536 The cumulative execution time for the process. 537 .RE 538 539 .sp 540 .ne 2 541 .na 542 \fBCPU\fR 543 .ad 544 .sp .6 545 .RS 4n 546 The percentage of recent \fBCPU\fR time used by the process. If executing in a 547 non-global \fBzone\fR and the pools facility is active, the percentage will be 548 that of the processors in the processor set in use by the pool to which the 549 \fBzone\fR is bound. 550 .RE 551 552 .sp 553 .ne 2 554 .na 555 \fBPROCESS\fR 556 .ad 557 .sp .6 558 .RS 4n 559 The name of the process (name of executed file). 560 .RE 561 562 .sp 563 .ne 2 564 .na 565 \fBLWPID\fR 566 .ad 567 .sp .6 568 .RS 4n 569 The \fBlwp\fR \fBID\fR of the \fBlwp\fR being reported. 570 .RE 571 572 .sp 573 .ne 2 574 .na 575 \fBNLWP\fR 576 .ad 577 .sp .6 578 .RS 4n 579 The number of \fBlwp\fRs in the process. 580 .RE 581 582 .sp 583 .LP 584 With the some options, in addition to a number of the column headings shown 585 above, there are: 586 .sp 587 .ne 2 588 .na 589 \fBNPROC\fR 590 .ad 591 .sp .6 592 .RS 4n 593 Number of processes in a specified collection. 594 .RE 595 596 .sp 597 .ne 2 598 .na 599 \fBMEMORY\fR 600 .ad 601 .sp .6 602 .RS 4n 603 Percentage of memory used by a specified collection of processes. 604 .RE 605 606 .sp 607 .LP 608 The following columns are displayed when the \fB-v\fR or \fB-m\fR option is 609 specified 610 .sp 611 .ne 2 612 .na 613 \fBUSR\fR 614 .ad 615 .sp .6 616 .RS 4n 617 The percentage of time the process has spent in user mode. 618 .RE 619 620 .sp 621 .ne 2 622 .na 623 \fBSYS\fR 624 .ad 625 .sp .6 626 .RS 4n 627 The percentage of time the process has spent in system mode. 628 .RE 629 630 .sp 631 .ne 2 632 .na 633 \fBTRP\fR 634 .ad 635 .sp .6 636 .RS 4n 637 The percentage of time the process has spent in processing system traps. 638 .RE 639 640 .sp 641 .ne 2 642 .na 643 \fBTFL\fR 644 .ad 645 .sp .6 646 .RS 4n 647 The percentage of time the process has spent processing text page faults. 648 .RE 649 650 .sp 651 .ne 2 652 .na 653 \fBDFL\fR 654 .ad 655 .sp .6 656 .RS 4n 657 The percentage of time the process has spent processing data page faults. 658 .RE 659 660 .sp 661 .ne 2 662 .na 663 \fBLCK\fR 664 .ad 665 .sp .6 666 .RS 4n 667 The percentage of time the process has spent waiting for user locks. 668 .RE 669 670 .sp 671 .ne 2 672 .na 673 \fBSLP\fR 674 .ad 675 .sp .6 676 .RS 4n 677 The percentage of time the process has spent sleeping. 678 .RE 679 680 .sp 681 .ne 2 682 .na 683 \fBLAT\fR 684 .ad 685 .sp .6 686 .RS 4n 687 The percentage of time the process has spent waiting for CPU. 688 .RE 689 690 .sp 691 .ne 2 692 .na 693 \fBVCX\fR 694 .ad 695 .sp .6 696 .RS 4n 697 The number of voluntary context switches. 698 .RE 699 700 .sp 701 .ne 2 702 .na 703 \fBICX\fR 704 .ad 705 .sp .6 706 .RS 4n 707 The number of involuntary context switches. 708 .RE 709 710 .sp 711 .ne 2 712 .na 713 \fBSCL\fR 714 .ad 715 .sp .6 716 .RS 4n 717 The number of system calls. 718 .RE 719 720 .sp 721 .ne 2 722 .na 723 \fBSIG\fR 724 .ad 725 .sp .6 726 .RS 4n 727 The number of signals received. 728 .RE 729 730 .sp 731 .LP 732 Under the \fB-L\fR option, one line is printed for each \fBlwp\fR in the 733 process and some reporting fields show the values for the \fBlwp\fR, not the 734 process. 735 .sp 736 .LP 737 The following column is displayed when the \fB-H\fR option is specified: 738 .sp 739 .ne 2 740 .na 741 \fBLGRP\fR 742 .ad 743 .sp .6 744 .RS 4n 745 The home \fIlgroup\fR of the process or lwp. 746 .RE 747 748 .SH OPERANDS 749 .sp 750 .LP 751 The following operands are supported: 752 .sp 753 .ne 2 754 .na 755 \fB\fIcount\fR\fR 756 .ad 757 .sp .6 758 .RS 4n 759 Specifies the number of times that the statistics are repeated. By default, 760 \fBprstat\fR reports statistics until a termination signal is received. 761 .RE 762 763 .sp 764 .ne 2 765 .na 766 \fB\fIinterval\fR\fR 767 .ad 768 .sp .6 769 .RS 4n 770 Specifies the sampling interval in seconds; the default interval is \fB5\fR 771 seconds. 772 .RE 773 774 .SH EXAMPLES 775 .LP 776 \fBExample 1 \fRReporting the Five Most Active Super-User Processes 777 .sp 778 .LP 779 The following command reports the five most active super-user processes running 780 on \fBCPU1\fR and \fBCPU2\fR: 781 782 .sp 783 .in +2 784 .nf 785 example% prstat -u root -n 5 -P 1,2 1 1 786 787 PID USERNAME SWAP RSS STATE PRI NICE TIME CPU PROCESS/LWP 788 306 root 3024K 1448K sleep 58 0 0:00.00 0.3% sendmail/1 789 102 root 1600K 592K sleep 59 0 0:00.00 0.1% in.rdisc/1 790 250 root 1000K 552K sleep 58 0 0:00.00 0.0% utmpd/1 791 288 root 1720K 1032K sleep 58 0 0:00.00 0.0% sac/1 792 1 root 744K 168K sleep 58 0 0:00.00 0.0% init/1 793 TOTAL: 25, load averages: 0.05, 0.08, 0.12 794 .fi 795 .in -2 796 .sp 797 798 .LP 799 \fBExample 2 \fRDisplaying Verbose Process Usage Information 800 .sp 801 .LP 802 The following command displays verbose process usage information about 803 processes with lowest resident set sizes owned by users \fBroot\fR and 804 \fBjohn\fR. 805 806 .sp 807 .in +2 808 .nf 809 example% prstat -S rss -n 5 -vc -u root,john 810 811 PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWP 812 1 root 0.0 0.0 - - - - 100 - 0 0 0 0 init/1 813 102 root 0.0 0.0 - - - - 100 - 0 0 3 0 in.rdisc/1 814 250 root 0.0 0.0 - - - - 100 - 0 0 0 0 utmpd/1 815 1185 john 0.0 0.0 - - - - 100 - 0 0 0 0 csh/1 816 240 root 0.0 0.0 - - - - 100 - 0 0 0 0 powerd/4 817 TOTAL: 71, load averages: 0.02, 0.04, 0.08 818 819 .fi 820 .in -2 821 .sp 822 823 .SH EXIT STATUS 824 .sp 825 .LP 826 The following exit values are returned: 827 .sp 828 .ne 2 829 .na 830 \fB\fB0\fR\fR 831 .ad 832 .sp .6 833 .RS 4n 834 Successful completion. 835 .RE 836 837 .sp 838 .ne 2 839 .na 840 \fB\fB1\fR\fR 841 .ad 842 .sp .6 843 .RS 4n 844 An error occurred. 845 .RE 846 847 .SH SEE ALSO 848 .sp 849 .LP 850 \fBdate\fR(1), \fBlgrpinfo\fR(1), \fBplgrp\fR(1), \fBproc\fR(1), \fBps\fR(1), 851 \fBtime\fR(2), \fBpsrinfo\fR(1M), \fBpsrset\fR(1M), \fBsar\fR(1M), 852 \fBpset_getloadavg\fR(3C), \fBproc\fR(4), \fBproject\fR(4), 853 \fBattributes\fR(5), \fBresource_controls\fR(5), \fBzones\fR(5) 854 .SH NOTES 855 .sp 856 .LP 857 The snapshot of system usage displayed by \fBprstat\fR is true only for a 858 split-second, and it may not be accurate by the time it is displayed. When the 859 \fB-m\fR option is specified, \fBprstat\fR tries to turn on microstate 860 accounting for each process; the original state is restored when \fBprstat\fR 861 exits. See \fBproc\fR(4) for additional information about the microstate 862 accounting facility. 863 .sp 864 .LP 865 The total memory size reported in the SWAP and RSS columns for groups of 866 processes can sometimes overestimate the actual amount of memory used by 867 processes with shared memory segments.