一个资源查询的小脚本

有时候常常要和开发对程序,由于测试环境和生产环境多多少少还是有点出入,导致开发不清楚生产环境这边的具体情况,开发往往需要获取系统的各项指标来判断程序的具体问题,于是就有了以下这个小脚本

#!/bin/bash
#1.同一进程的线程共享内存空间
#2.进程在不同的内存空间中运行

echo "系统版本
`lsb_release -a`
"
#请根据发行版本来修改脚本中的命令

echo "该主机物理CPU个数
`cat /proc/cpuinfo |grep "physical id"|awk '{print $4}'|sort |uniq|wc -l`
"

echo "该主机CPU内核个数
`cat /proc/cpuinfo |grep "cpu cores" |uniq |awk '{print $4}' `
"

echo "该主机逻辑CPU个数
`cat /proc/cpuinfo |grep "processor"|wc -l`
"

yes_or_no(){
if [ `cat /proc/cpuinfo |grep "cpu cores" |uniq |awk '{print $4}'` -eq `cat /proc/cpuinfo |grep "siblings" |uniq|awk '{print $3}'` ];then
echo "no"
else
echo "yes"
fi
}


echo "该主机是否开启超线程"
yes_or_no

echo

echo "系统最大进程数pid_max
`cat /proc/sys/kernel/pid_max`
"
#系统中可以同时执行的最大进程数量,这些进程可以在不同内存空间中使用

 
echo "系统当前已经使用的进程数
`ps -ef|wc -l`
"

echo "系统最大线程数threads-max
`cat /proc/sys/kernel/threads-max`
"
#统中能调用的线程总数的上限,由物理内存决定,是各个用户ulimit -u之和超过该上限会抛内存异常

echo "系统当前已经使用的线程数
`ps -eLf|wc -l`
"

 
echo "单个进程最多可以创建的线程数max_map_count
`cat /proc/sys/vm/max_map_count`
" 
#一个用户进程可以占用线程数的上限,若多个进程产生的线程总数接近threads-max,则会出现内存分配报错

echo "默认线程栈大小(单位:KB)
`ulimit -s`
"


echo "用户$USER的最大进程数
`ulimit -u`
"
#用户能打开进程总数上限,受threads-max影响,即各个用户的进程数之和应小于threads-max,同时,各个用户的


echo "用户$USER当前使用的进程数
`ps -ef | awk '{print $1}'|grep $USER|wc -l`
"

echo "用户$USER当前使用的线程数
`ps -eLf | awk '{print $1}'|grep $USER|wc -l`
"

echo "系统最大句柄数(可打开文件数)
`cat /proc/sys/fs/file-max`
"

echo "$USER用户单个进程可打开的文件数ulimit -n
`ulimit -n`
"

echo "系统一共已使用的句柄数
`cat /proc/sys/fs/file-nr |awk '{print $1}'`
"

echo "$USER使用的句柄数
`lsof -u $USER|wc -l`
"

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值