shell习题--计算linux系统所有进程占用的内存之和

本文介绍了一种使用Shell脚本来统计Linux系统中所有进程占用内存总和的方法。通过ps、awk及grep等命令组合,实现了获取各进程的RSS物理内存占用,并将其累加求和。

计算linux系统所有进程占用的内存之和

需求分析:
先将所有进程使用的内存统计出来,然后在将这些内存相加就是内存之和

统计所有进程使用的内存:

ps aux 命令可以查看这些内存,第六列 RSS 物理内存
ps aux |awk ‘{print $6}’ |grep -v ‘RSS’
这条命令可以将所有进程所用的内存找出来

然后再将内存相加

shell脚本

#!/bin/bash
sum=0
for mem in `ps aux |awk '{print $6}' |grep -v 'RSS'`
do
sum=$[$sum+$mem]
done
echo "The total memory is $sum."
### Linux 系统基本操作命令练习题 以下是针对 Linux 系统基本操作命令设计的一系列练习题,涵盖了常见的系统管理、文件操作以及用户管理等内容: #### 文件与目录操作 1. 如何通过命令行创建一个名为 `testfile` 的空文件? ```bash touch testfile ``` 2. 创建一个多级嵌套的目录结构 `/home/user/docs/reports`。如果父目录不存在,则需要自动创建它们。 ```bash mkdir -p /home/user/docs/reports ``` 3. 删除 `/tmp` 下所有以 `.log` 结尾的文件。 ```bash rm -f /tmp/*.log ``` 4. 查看当前工作目录路径。 ```bash pwd ``` 5. 列出当前目录下的所有隐藏文件子目录。 ```bash ls -la ``` 6. 将 `/etc/fstab` 复制到用户的家目录并重命名为 `fstab.bak`。 ```bash cp /etc/fstab ~/fstab.bak ``` 7. 移动 `/var/log/syslog` 至 `/backup/logs/` 并改名为 `syslog_backup.log`。 ```bash mv /var/log/syslog /backup/logs/syslog_backup.log ``` 8. 显示 `/etc/passwd` 文件的最后一行内容。 ```bash tail -n 1 /etc/passwd ``` 9. 计算 `/usr/share/doc` 目录及其子目录占用的空间大小,并显示为人类可读的形式。 ```bash du -sh /usr/share/doc ``` #### 用户与权限管理 10. 添加一个新用户 `newuser`,设置其默认 shell 为 Bash,并指定 UID GID 分别为 2000 3000。 ```bash useradd -u 2000 -g 3000 -s /bin/bash newuser ``` 11. 修改用户 `newuser` 的密码到期时间为 90 天。 ```bash chage -M 90 newuser ``` 12. 锁定用户 `olduser` 账户,使其无法登录系统。 ```bash passwd -l olduser ``` 13. 解锁被锁定的用户 `olduser`。 ```bash passwd -u olduser ``` 14. 设置用户 `admin` 属于额外的组 `sudoers` `developers`。 ```bash usermod -aG sudoers,developers admin ``` 15. 更改 `/data/shared` 目录的所有者为 `project` 用户,所属组为 `team` 组。 ```bash chown project:team /data/shared ``` #### 系统状态监控 16. 查看当前系统的磁盘空间使用情况,并按百分比降序排列。 ```bash df -h --output=source,size,used,pcent | sort -k4nr ``` 17. 使用 `top` 命令实时查看 CPU 占用率最高的前五个进程。 18. 查询当前系统内存使用量超过 1GB 的进程列表。 ```bash ps aux --sort=-rss | awk '$6/1024 > 1024 {print $0}' | head -n 5 ``` 19. 获取服务器已经连续运行的时间(uptime)。 ```bash uptime ``` 20. 检查 Apache HTTPD 进程是否正在运行。如果没有运行,请启动它。 ```bash systemctl status httpd || systemctl start httpd ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值