Package: smem
Version: 1.5-1
Severity: normal
Tags: patch upstream

Hello,

It appears smem incorrectly aligns its output when the system uses PIDs longer
than 5 digits. This situation is very common in today's multi-core processors.

Example:

$ smem -P bash | head -5
  PID User     Command                         Swap      USS      PSS      RSS
98951 paganini -bash                           5896      148      169     2496
98852 paganini bash                            4800      172      193     2520
2872293 paganini bash                             0     4972     5137     8460
2872185 paganini bash                             0     4976     5142     8468

Expected output:

$ smem -P bash | head -5
  PID   User     Command                         Swap      USS      PSS    RSS
  98951 paganini -bash                           5896      148      169   2496
  98852 paganini bash                            4800      172      193   2520
2872293 paganini bash                               0     4972     5137   8460
2872185 paganini bash                               0     4976     5142   8468

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (200, 'testing'), (150, 'stable'), (90, 'unstable'), (70, 
'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-8-amd64 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages smem depends on:
ii  python3  3.8.2-2

Versions of packages smem recommends:
ii  python3-matplotlib  3.1.2-2

smem suggests no packages.

-- no debconf information
--- /usr/bin/smem       2020-01-04 19:57:10.000000000 -0800
+++ /tmp/fixed/smem     2020-04-18 11:41:33.448711645 -0700
@@ -273,7 +273,7 @@
         return pidusername(p)
 
     fields = dict(
-        pid=('PID', lambda n: n, '% 5s', lambda x: len(pt),
+        pid=('PID', lambda n: n, '% 7s', lambda x: len(pt),
              'process ID'),
         user=('User', showuser, '%-8s', lambda x: len(dict.fromkeys(x)),
               'owner of process'),

Reply via email to