查看每个用户linux内存,编写shell脚本查看linux当前各用户的cpu和memory消耗比例
时间: 2024-03-24 14:37:02 浏览: 13
可以使用`ps`命令结合`awk`和`sort`命令来实现查看当前各用户的CPU和内存消耗比例。
以下是一个简单的脚本:
```bash
#!/bin/bash
echo "CPU MEM USER"
ps -eo pcpu,pmem,user | awk '{arr[$3]+=$1; arr2[$3]+=$2} END {for (i in arr) {printf "%.2f%% %.2f%% %s\n", arr[i], arr2[i], i}}' | sort -rnk2
```
脚本的输出结果分为三列,分别是CPU消耗比例、内存消耗比例和用户名称。其中,CPU和内存消耗比例都保留了两位小数。
使用方法:
将上述脚本保存为一个文件,例如`user_stat.sh`,并赋予执行权限:
```bash
chmod +x user_stat.sh
```
然后在终端中运行该脚本即可:
```bash
./user_stat.sh
```
注意,该脚本需要在具有足够权限的用户下运行,否则可能会无法获取其他用户的进程信息。
相关问题
查看每个用户linux内存,编写shell脚本查看linux登录用户的cpu和memory使用率
可以通过 `top` 命令来查看当前系统的 CPU 和 Memory 使用情况,其中可以通过 `-u` 参数指定用户来查看该用户的 CPU 和 Memory 使用率。
以下是一个简单的 Shell 脚本,可以实现查看登录用户的 CPU 和 Memory 使用率:
```bash
#!/bin/bash
# 获取当前登录用户名称
user=$(whoami)
# 查看当前用户 CPU 和 Memory 使用情况
top -b -n 1 -u $user | grep -E "^$user" | awk '{print "CPU使用率:" $9 "%\n内存使用率:" $10 "%"}'
```
这个脚本首先获取当前登录用户的名称,然后使用 `top` 命令查看当前系统的 CPU 和 Memory 使用情况,并使用 `grep` 和 `awk` 命令从输出结果中提取出该用户的 CPU 和 Memory 使用率。最终输出结果类似于:
```
CPU使用率:0.0%
内存使用率:0.1%
```
你可以将这个脚本保存为一个文件,例如 `check_user_usage.sh`,然后通过 `chmod` 命令赋予执行权限,即可在终端中执行该脚本,如下所示:
```bash
chmod +x check_user_usage.sh
./check_user_usage.sh
```
注意:这个脚本只能查看当前登录用户的 CPU 和 Memory 使用率,如果需要查看其他用户的使用情况,需要在命令中指定相应的用户名。
编写shell脚本统计linux每个用户的cpu和memory使用率
可以使用 `ps` 命令来获取当前系统中所有进程的 CPU 和 Memory 使用情况,并通过 `awk` 命令将结果按照用户进行分类汇总,最后输出每个用户的 CPU 和 Memory 使用率。
以下是一个简单的 Shell 脚本,可以实现统计每个用户的 CPU 和 Memory 使用率:
```bash
#!/bin/bash
# 获取当前所有用户名称
users=$(ps aux | awk '{print $1}' | sort | uniq)
# 遍历每个用户,并统计 CPU 和 Memory 使用率
for user in $users
do
# 统计 CPU 使用率
cpu=$(ps aux | grep "^$user" | awk '{sum += $3}; END {print sum "%"}')
# 统计 Memory 使用率
memory=$(ps aux | grep "^$user" | awk '{sum += $4}; END {print sum "%"}')
# 输出结果
echo "用户 $user 的 CPU 使用率为:$cpu,Memory 使用率为:$memory"
done
```
这个脚本首先使用 `ps` 命令获取当前系统中所有进程的信息,并通过 `awk` 命令将结果按照用户名称进行分类汇总。然后遍历每个用户,再次使用 `ps` 命令获取该用户的进程信息,并使用 `grep` 和 `awk` 命令分别统计该用户的 CPU 和 Memory 使用率。最终输出结果类似于:
```
用户 root 的 CPU 使用率为:0.0%,Memory 使用率为:0.4%
用户 daemon 的 CPU 使用率为:0.0%,Memory 使用率为:0.0%
用户 mysql 的 CPU 使用率为:0.0%,Memory 使用率为:0.3%
```
你可以将这个脚本保存为一个文件,例如 `check_usage.sh`,然后通过 `chmod` 命令赋予执行权限,即可在终端中执行该脚本,如下所示:
```bash
chmod +x check_usage.sh
./check_usage.sh
```
注意:这个脚本需要使用管理员权限才能获取所有进程的信息。