标签: ps

使用awk从'ps aux'输出获取内存使用情况

我必须使用awk解决练习.基本上我需要从'ps aux'命令检索每个用户的内存使用总量和格式,如下所示:

User    Total%Mem
user1      3.4%
user2      1.5%
Run Code Online (Sandbox Code Playgroud)

等等.

我似乎无法解决的问题是:我如何知道有多少用户登录?我怎样才能为每一个做出不同的总和呢?

谢谢 :)

awk ps

4
推荐指数
1
解决办法
6897
查看次数

子进程pid与ps输出不同

为什么子Popen.pid进程pid()与ps命令返回的值不同?

当我ps从python(with subprocess.call())和另一个终端调用时,我注意到了这一点.

这是一个简单的python文件来测试:

#!/usr/bin/python3
'''
Test subprocess termination
'''

import subprocess

command = 'cat'

#keep pipes so that cat doesn't complain
proc = subprocess.Popen(command,
                    stdout=subprocess.PIPE,
                    stderr=subprocess.PIPE,
                    stdin=subprocess.PIPE,
                    shell=True)

print('pid = %d' % proc.pid)
subprocess.call("ps -A | grep -w %s" % command,
                    shell=True)

proc.terminate()
proc.wait()             # make sure its dead before exiting pytyhon
Run Code Online (Sandbox Code Playgroud)

通常报告的pid比报告的pid ps多1或2 Popen.pid.

python subprocess pid ps

4
推荐指数
1
解决办法
3588
查看次数

在Solaris 8中将ps输出扩展为80个以上的字符

如何在Solaris中扩展ps -fe的输出,使其显示超过80个字符?我的进程有几个参数,进程名称无法再显示.

unix shell solaris ps

4
推荐指数
1
解决办法
1万
查看次数

如何确定Matlab正在使用的线程数?

当我简单地运行时"matlab",maxNumCompThreads返回4.

当我运行时"matlab -singleCompThread",maxNumCompThreads返回1.

但是在这两种情况下ps uH p <PID> | wc -l(我从SO上的另一个问题中选择以确定进程正在使用的线程数)返回35.

是什么赋予了?有人可以向我解释35代表什么,以及我是否可以信任maxNumCompThreads表示Matlab只使用一个线程?

matlab multithreading pid process ps

4
推荐指数
1
解决办法
1353
查看次数

按 etime 排序 PS 命令

所以我正在尝试开发一个脚本来查找特定进程,并杀死运行时间最长的进程。试图按经过时间对命令进行排序正在成为问题。这是我正在运行的命令,我知道有很多 | 并且可能更清楚为什么要这样做,但我对使用awk还很陌生。

ps -eo pid,cmd,stat,etime --sort=etime | grep cassi32 | awk '$3 == "/rESTECH"' | awk '$4 == "S"'
Run Code Online (Sandbox Code Playgroud)

我得到的输出是这个。

5703 cassi32 /rESTECH            S          00:40
65504 cassi32 /rESTECH            S     1-21:45:39
65520 cassi32 /rESTECH            S       03:21:39
65521 cassi32 /rESTECH            S     3-15:02:37
65531 cassi32 /rESTECH            S     1-21:44:39
Run Code Online (Sandbox Code Playgroud)

如您所见,etime 列似乎没有任何特定顺序,而是按 PID 排序。

关于如何按 etime 进行排序的任何想法。一旦完成,我可以处理杀死部分。

sorting awk kill ps

4
推荐指数
1
解决办法
2779
查看次数

VSZ vs RSS内存和交换空间

我试图了解我们正在尝试运行的大规模模拟的内存使用情况.当我运行它"ps"报告

USER    PID %CPU %MEM     VSZ    RSS TTY    STAT START   TIME COMMAND
myuser 5252 97.7  0.5 5751412 377392 ?      Rs   19:49   1:15 myprogram
Run Code Online (Sandbox Code Playgroud)

我们在该模拟中有三个阵列,每个阵列占用1.6gb(2亿个双打).根据中的信息

什么是Linux内存管理中的RSS和VSZ

我预计内存将被列在RSS下,但RSS只有377MB.根据stackoverflow线程中的信息,我得出结论,必须换掉内存并查看"free -m"

             total       used       free     shared    buffers     cached
Mem:         64391       5985      58406          0        463       1295
-/+ buffers/cache:       4226      60164
Swap:         4766          0       4766
Run Code Online (Sandbox Code Playgroud)

和交换根本没用!除了它无论如何它太小的事实.那么RSS与VSZ的差异来自哪里呢?为什么我们分配VSZ的一部分而不是RSS的一部分呢?

我感谢所有的帮助

memory ps

4
推荐指数
1
解决办法
1万
查看次数

bash ps打印有关名称的进程的信息

我需要使用ps类型名称的进程来打印UID PID PPID PRI NI VSZ RSS STAT TTY TIME列。

  GNU nano 2.0.6                                                     
  File: file2                                                                                                                        

  ps o uid,pid,ppid,ni,vsz,rss,stat,tty,time | grep $2  > $1
  cat $1
  echo "enter pid of process to kill:"
  read pid
  kill -9 $pid
Run Code Online (Sandbox Code Playgroud)

但是,当我将此命令与参数$ 2 = bash一起使用时,它什么也不会打印(此过程存在)

更新

  GNU nano 2.0.6                               
  File: file2  

ps o uid,pid,ppid,ni,vsz,rss,stat,tty,time,command | grep $2 | awk '{print $1,$2,$3,$4,$5,$6,$7,$8,$9}'  > $1
cat $1
echo "enter pid of process to kill:"
read pid
kill -9 $pid
Run Code Online (Sandbox Code Playgroud)

这对我有用,但是实际上,恕我直言,此解决方案不是最佳解决方案。我在grep名称之后使用阴影列命令,并打印除命令外的所有列。

unix bash grep ps nano

4
推荐指数
1
解决办法
2289
查看次数

www在ps auxwww中是什么意思?

我发现ps aux列出了当前正在运行的进程,我发现其他人在提及ps auxwww。我想知道这意味着什么?或它做什么?ps aux和之间有什么区别ps auxwww

terminal process ps

4
推荐指数
1
解决办法
5140
查看次数

来自ps的列的含义

在Linux bash中,这四列是什么意思ps

例如

PID   TTY         TIME CMD
15286 pts/498 00:00:00 bash
30887 pts/498 00:00:00 ps
Run Code Online (Sandbox Code Playgroud)

linux bash ps

3
推荐指数
1
解决办法
1万
查看次数

Linux的最高CPU使用率 - 总是相同的值

这是我的命令:

top -b -n 1 | head -3 | tail -n 1 | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)

我运行一个bash脚本,它获取这些细节(也包括平均负载和内存消耗)并将其保存到一个文件,我用它来可视化CPU负载.

但是上面的命令,总是显示相同的值!~6%,无论服务器是否处于高负载或空闲状态.

当我跑:

top
Run Code Online (Sandbox Code Playgroud)

它在开始时显示相同的值(~6%),刷新后显示实际值(例如80%).

如何解决这个问题,或者如何获得可用于可视化的当前cpu使用?

linux cpu ps

3
推荐指数
1
解决办法
2522
查看次数

标签 统计

ps ×10

awk ×2

bash ×2

linux ×2

pid ×2

process ×2

unix ×2

cpu ×1

grep ×1

kill ×1

matlab ×1

memory ×1

multithreading ×1

nano ×1

python ×1

shell ×1

solaris ×1

sorting ×1

subprocess ×1

terminal ×1