当前位置: 首页 > news >正文

服务器巡检常用命令,脚本,及调优思路

uname -a # 查看内核/操作系统/CPU信息

head -n 1 /etc/issue # 查看操作系统版本

cat /proc/cpuinfo # 查看CPU信息

hostname # 查看计算机名

lspci -tv # 列出所有PCI设备

lsusb -tv # 列出所有USB设备

lsmod # 列出加载的内核模块

env # 查看环境变量

free -m # 查看内存使用量和交换区使用量

df -h # 查看各分区使用情况

du -sh < 目录名> # 查看指定目录的大小

grep MemTotal /proc/meminfo # 查看内存总量

grep MemFree /proc/meminfo # 查看空闲内存量

uptime # 查看系统运行时间、用户数、负载

cat /proc/loadavg # 查看系统负载

mount | column -t # 查看挂接的分区状态

fdisk -l # 查看所有分区

swapon -s # 查看所有交换分区

hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

dmesg | grep IDE # 查看启动时IDE设备检测状况

ifconfig # 查看所有网络接口的属性

iptables -L # 查看防火墙设置

route -n # 查看路由表

netstat -lntp # 查看所有监听端口

netstat -antp # 查看所有已经建立的连接

netstat -s # 查看网络统计信息

ps -ef # 查看所有进程

top # 实时显示进程状态

w # 查看活动用户

id < 用户名> # 查看指定用户信息

last # 查看用户登录日志

cut -d: -f1 /etc/passwd # 查看系统所有用户

cut -d: -f1 /etc/group # 查看系统所有组

crontab -l # 查看所有用户的定时任务

服务器巡检脚本:

#!/bin/bash
phy_cpu=$(sudo cat /proc/cpuinfo | grep "physical id"|sort | uniq | wc -l)
logic_cpu_num=$(sudo cat /proc/cpuinfo | grep "processor"| wc -l)
cpu_core_num=$(sudo cat /proc/cpuinfo | grep "cores"|uniq|awk -F: '{print $2}')
cpu_freq=$(sudo cat /proc/cpuinfo | grep MHz | uniq | awk -F: '{print $2}')
system_core=$(uname -r)
system_version=$(cat /proc/version)
system_hostname=$(hostname | awk '{print $1}')
systemc_envirement_variables=$(sudo env | grep PATH)
mem_free=$(sudo grep MemFree /proc/meminfo)
disk_usage=$(df -h)
system_uptime=$(sudo uptime)
system_load=$(sudo cat /proc/loadavg)
system_ip=$(sudo ifconfig | grep "inet addr" | awk -F: '{print $2}'| awk '{print $1}')
mem_info=$(sudo /usr/sbin/dmidecode | grep -A 16 "Memory Device"|grep -E "Size|Locator"|grep -v Bank)
mem_total=$(sudo grep MemTotal /proc/meminfo)
day01=$(date +%Y)
day02=$(date +%m)
day03=$(date +%d)

path=inspection.txt
echo -e " " > $path
echo -e $day01年$day02月$day03系统巡检报告 >> $path
echo -e 主机名:"\t"$system_hostname >> $path
echo -e 服务器IP: "\t"$system_ip >> $path
echo -e 系统内核: "\t"$system_core >> $path
echo -e 操作系统版本:"\t"$system_version >> $path
echo -e 磁盘使用情况: "\t""\t" $disk_usage >> $path
echo -e CPU核数:"\t"$cpu_core_num >> $path
echo -e 物理CPU个数:"\t"$phy_cpu >> $path
echo -e 逻辑CPU个数:"\t"$logic_cpu_num >> $path
echo -e 系统环境变量:"\t"$systemc_envirement_variables >> $path
echo -e CPU的主频:"\t"$cpu_freq >> $path
echo -e 内存简要信息:"\t"$mem_info >> $path
echo -e 内存总大小:"\t"$mem_total >> $path
echo -e 内存空间: "\t"$mem_free >> $path
echo -e 时间/系统运行时间/当前登陆用户/系统过去1分钟/5分钟/15分钟内平均负载/"\t"$system_uptime >> $path
echo -e 1分钟/5分钟/15分钟平均负载/在采样时刻,运行任务的数目/系统活跃任务的个数/最大的pid值线
程/ "\t"$system_load >> $path

性能调优整体思路
空间换时间
对热点数据缓存,减少数据查询时间。
分而治之
将大任务切片,分开执行。HDFS、MapReduce就是这个原理。
异步处理
若业务链中有某一环节耗时严重,则该环节将拉长业务链的整体耗时。可以将耗时业务采用消息队列异步化,从而缩短业务链耗时。
并行处理
采用多进程、多线程同时处理,提升处理速度。
离用户更近一点
如CDN技术,将静态资源放到离用户更近的地方,从而缩短请求静态资源的时间。
提升可扩展性
采用业务模块化、服务化的手段,提升系统的可扩展性,从而可根据业务需求实现弹性计算。

转载于:https://blog.51cto.com/13120271/2333331

相关文章:

  • [NOI2014]购票
  • iView动态生成Menu时open-names不生效的解决办法
  • Deepin怎样安装C/C++编译环境更好
  • Django学习【补充篇】:Django之MOdel进阶(QuerySet介绍以及这整体插入,中介模型等)...
  • Angular 应用解决跨域访问的问题
  • 用navicat远程连接mysql:Can't connect to MySQL server (10060)
  • 工具-cloc代码行数统计工具
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • GoAccess中文界面显示配置
  • Phpstorm Alt+Enter 自动导入类
  • 让你的系统“坚挺不倒”的最后一个大招——「降级」
  • Arch Linux开启SSH远程安装(1.5)
  • JVM调优后续(一)
  • ES6模块之export和import教程
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • centos安装java运行环境jdk+tomcat
  • ES6核心特性
  • Java知识点总结(JavaIO-打印流)
  • PHP的类修饰符与访问修饰符
  • vue--为什么data属性必须是一个函数
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 当SetTimeout遇到了字符串
  • 关于 Cirru Editor 存储格式
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 机器学习学习笔记一
  • 类orAPI - 收藏集 - 掘金
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​虚拟化系列介绍(十)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (4)logging(日志模块)
  • (9)目标检测_SSD的原理
  • (TOJ2804)Even? Odd?
  • (vue)页面文件上传获取:action地址
  • (七)Knockout 创建自定义绑定
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转)C#调用WebService 基础
  • (转)http-server应用
  • (转)Sublime Text3配置Lua运行环境
  • (转载)hibernate缓存
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET 指南:抽象化实现的基类
  • .Net(C#)常用转换byte转uint32、byte转float等
  • /usr/bin/env: node: No such file or directory
  • @TableLogic注解说明,以及对增删改查的影响
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]
  • [Android Pro] Notification的使用
  • [autojs]autojs开关按钮的简单使用
  • [bzoj1006]: [HNOI2008]神奇的国度(最大势算法)