linux
中,/proc/$PID/status
文件提供了该进程资源(内存,堆栈,信号量,子父进程)的使用情况,虽然linux提供了不少查看内存的命令,但都是看整体的使用情况,无法对单个进程的内存使用情况进行查看。
本文为大家提供的这个脚本,通过查看status文件中VmRSS的字段来查看系统或进程使用的内存情况,有需要的朋友不妨参考下。
复制代码:
#!
/bin/bash
echo
-n
PidName
>
/root/script/pid.f
echo
MeMery
>>
/root/script/pid.f
PIDPATH=/proc/
TOTLE=0
cd
$PIDPATH
DOC=`ls`
for
DOCNAME
in
$DOC
do
if
[
-d
$DOCNAME
]
then
cd
$DOCNAME
if
[
-f
status
]then
MEMERY=`grep
VmRSS
status
|
awk
-F':'
$2}'
|
awk
$1}'`
PIDNAME=`grep
Name
status
|
awk
-F':'
$2}'`
if
[
$MEMERY
]
then
echo
-n
$PIDNAME
>>
/root/script/pid.f
echo
-n
>>
/root/script/pid.f
echo
$MEMERY
>>
/root/script/pid.f
TOTLE=`expr
$TOTLE
+
$MEMERY`
cd
..
else
cd
..
fi
else
cd
..
fi
fi
done
TOTLE=`expr
$TOTLE
/
1024`
echo
TOTLE
USERD:
$TOTLE
MB
>>
/root/script/pid.f
cat
/root/script/pid.f
在使用Linux的过程中,场景有时候便会涉及到查找文本文件的内容,假如现在我们想要在一个三百多行的文本中找到特定的语句,或者在这其中查找是否含有特定的字段应该怎么办呢?
这里便出现了专门的文本处理工具——grep,grep是Linux中常用的文本处理工具之一。
grep的全称为“ Global search Regular Expression and Print out the line”。
全称中的“Glibal search”意思为全局搜索的意思。
全称中的“Regular Expression”意思为正则表达式。
所以从全称中就可以理解为gerp是一个可以利用正则表达式的全局搜索工具。grep会按照正则表达式的匹配原则在文本文件中按照逐行匹配处理的方法来处理文本并输出。
来看看grep的用法。
来看看案例。
案例1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来
上面的案例开始匹配了/sbin/nologin关键词,但是案例中只需要除了它之外的shell,所以讲它使用-v选项排除开就可以了。
案例2.查出用户UID最大值的用户名、UID及shell类型
案例3.统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序
上面的案例中ss -nt 查看连接情况,然后将EATAB状态的过滤出来,在进行处理,最后提取出结果并完成排序。
案例4:编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
案例5.编写脚本 systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址, *** 作系统版本,内核版本,CPU型号,内存大小,硬盘大小
方法/步骤1
如何知道当前的shell,参看下面的图片中的命令。
2
这是bash源文件resource的内容和存放路径
3
命令ls中使用大F列出哪些是目录哪些是文件
4
这里的backslash符号,也就是反斜杠符号是换行续写的意思
5
这里使用backslash符号连续输出2个目录下的内容
分号分隔符号的意思是,执行完成第一个命令然后才开始执行第二个命令。
可以在输入命令行时,按下tab键执行命令行自动补齐
这里介绍emacs编辑器,也就是在命令行中输入命令时使用的编辑器
在命令行编辑时光标cursor的back和forward
按下control加小写的L将清除屏幕,并把当前行移动到屏幕的top位置
全局command编辑器配置
inputrc文件的内容
制定用户的command行编辑工具
用命令bind的v选项看keyboard的bindings类型
这个是substitution命令,先执行,然后将输出传递给前面一个command,这里不是单引号,是~键上的符号
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)