Bug 702826 - GNU time reports incorrect maximum RSS
GNU time reports incorrect maximum RSS
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: time (Show other bugs)
14
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Petr Pisar
Fedora Extras Quality Assurance
http://lists.gnu.org/archive/html/bug...
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-05-07 10:07 EDT by Michael Chapman
Modified: 2011-05-24 22:53 EDT (History)
1 user (show)

See Also:
Fixed In Version: time-1.7-38.fc13
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 703865 (view as bug list)
Environment:
Last Closed: 2011-05-19 00:58:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Do not incorrectly convert ru_maxrss (520 bytes, patch)
2011-05-07 10:09 EDT, Michael Chapman
no flags Details | Diff

  None (edit)
Description Michael Chapman 2011-05-07 10:07:30 EDT
Description of problem:

GNU time can print out the maximum RSS usage of its subprocess. The ru_maxrss value returned by the wait4 syscall is in units of kilobytes, but GNU time incorrectly treats this as a number of pages, multiplying the value by 4 before displaying it.

Version-Release number of selected component (if applicable):
time-1.7-37.fc12.i686

How reproducible: Always

Steps to Reproduce:
1. /usr/bin/time -f %M perl -e '"x" x 400 x 1024 x 1024'
  
Actual results: A bit over 1600000, indicating maximum RSS usage of 1.6 GB. This is not even possible on my system as it only has 1 GB of physical RAM.

Expected results: Approximately 400000, since Perl should only be allocating around 400 MB.

Additional info:

Applying strace to the above command, it is clear that time is multiplying the ru_maxrss value returned by wait4:

$ strace -ve wait4 /usr/bin/time -f %M perl -e '"x" x 400 x 1024 x 1024'
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, {ru_utime={0, 146977}, ru_stime={0, 676897}, ru_maxrss=411356, ru_ixrss=0, ru_idrss=0, ru_isrss=0, ru_minflt=102901, ru_majflt=1, ru_nswap=0, ru_inblock=176, ru_oublock=0, ru_msgsnd=0, ru_msgrcv=0, ru_nsignals=0, ru_nvcsw=1, ru_nivcsw=40}) = 7459
--- {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=7459, si_status=0, si_utime=14, si_stime=68} (Child exited) ---
1645424

According to the getrusage(2) manpage:

  ru_maxrss (since Linux 2.6.32)
     This is the maximum resident set size used (in kilobytes). [...]

I've attached a simple patch that simply skips the "pages to kilobytes" conversion for this field.
Comment 1 Michael Chapman 2011-05-07 10:09:53 EDT
Created attachment 497533 [details]
Do not incorrectly convert ru_maxrss
Comment 2 Petr Pisar 2011-05-11 08:52:21 EDT
All Fedoras affected (time-1.7).
Comment 3 Petr Pisar 2011-05-11 09:44:39 EDT
Thank you for the report, fixed time version will be pushed into Fedoras soon.
Comment 4 Petr Pisar 2011-05-11 12:16:56 EDT
Fixed in time-1.7-39.fc16 for F16.
Comment 5 Fedora Update System 2011-05-11 12:27:09 EDT
time-1.7-39.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/time-1.7-39.fc15
Comment 6 Fedora Update System 2011-05-11 12:28:01 EDT
time-1.7-38.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/time-1.7-38.fc14
Comment 7 Fedora Update System 2011-05-11 12:28:16 EDT
time-1.7-38.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/time-1.7-38.fc13
Comment 8 Fedora Update System 2011-05-13 19:02:07 EDT
Package time-1.7-38.fc14:
* should fix your issue,
* was pushed to the Fedora 14 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing time-1.7-38.fc14'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/time-1.7-38.fc14
then log in and leave karma (feedback).
Comment 9 Fedora Update System 2011-05-19 00:58:41 EDT
time-1.7-39.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 10 Fedora Update System 2011-05-24 22:28:19 EDT
time-1.7-38.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 11 Fedora Update System 2011-05-24 22:53:48 EDT
time-1.7-38.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.