linux运维之分析系统负载及运行状况

1.删除0字节文件

find -type f -size 0 -exec rm -rf {} \;

2.查看进程

#按内存从大到小排列
ps -e   -o "%C   : %p : %z : %a"|sort -k5 -nr

3.按cpu利用率从大到小排列

ps -e   -o "%C   : %p : %z : %a"|sort   -nr

4.打印出cache里的URL

grep -r -a   jpg /data/cache/* | strings | grep "http:" | awk -F‘http:‘ ‘{print "http:"$2;}‘

5.查看http的并发请求数及其TCP连接状态:

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

6.禁止root远程登录

sed -i ‘/Root/s/no/yes/‘ /etc/ssh/sshd_config   #sed在这个文里Root的一行,匹配Root一行,将no替换成yes.

7.杀掉mysql进程

ps aux |grep mysql |grep -v grep  |awk ‘{print $2}‘ |xargs kill -9
killall -TERM mysqld
kill -9 `cat /usr/local/apache2/logs/httpd.pid`   #查杀进程PID
注:kill -9大绝招,慎用,会导致mysql不能启动等状况

8.显示运行3级别开启的服务

ls /etc/rc3.d/S* |cut -c 15-

9.编写SHELL输入多条信息,用EOF

cat << EOF
##############################
#  Welcome to aha services   #
##############################
EOF

10.内存的大小

free -m |grep "Mem" | awk ‘{print $2}‘

11、根据端口查看连接数

netstat -an -t | grep ":80" | grep ESTABLISHED | awk ‘{printf "%s %s\n",$5,$6}‘ | sort

12、查看Apache的并发请求数及其TCP连接状态

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}‘

13、统计一下服务器下面所有的jpg的文件的大小

find / -name *.jpg -exec wc -c {} \;|awk ‘{print $1}‘|awk ‘{a+=$1}END{print a}‘

14、CPU的数量

cat /proc/cpuinfo |grep -c processor

15、系统日志、硬件及网络负载查看

#cpu负载
cat /proc/loadavg     #检查前三个输出值是否超过了系统逻辑CPU的4倍。
mpstat 1 1              #检查%idle是否过低(比如小于5%)

#内存空间(free)
cat /proc/meminfo   #检查free值是否过低

#swap空间
vmstat 1 5         #检查swap used值是否过高   如果swap used值过高,进一步检查swap动作是否频繁,观察si和so值是否较大

#磁盘空间
df -h    #检查是否有分区使用率(Use%)过高(比如超过90%);
#如发现某个分区空间接近用尽,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录:
du -cks * | sort -rn | head -n 10

#磁盘I/O负载
iostat -x 1 2    #检查I/O使用率(%util)是否超过100%

#网络负载
sar -n DEV    #检查网络流量(rxbyt/s, txbyt/s)是否过高

#网络错误
netstat -i      #检查是否有网络错误(drop fifo colls carrier);也可以用命令:cat /proc/net/dev

#网络连接数目
netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n

#进程总数
ps aux | wc -l        #检查进程个数是否正常

#可运行进程数目
vmwtat 1 5           #列给出的是可运行进程的数目,检查其是否超过系统逻辑CPU的4倍

#进程
top -id 1    #观察是否有异常进程出现

#系统日志
cat /var/log/rflogview/*errors
检查是否有异常错误记录   也可以搜寻一些异常关键字,例如:
grep -i error /var/log/messages
grep -i fail /var/log/messages

#核心日志
dmesg      #检查是否有异常错误记录

#打开文件数目
lsof | wc -l             #检查打开文件总数是否过多

#日志报告
logwatch –print     #配置/etc/log.d/logwatch.conf,将 Mailto 设置为自己的email 地址,启动mail服务 (sendmail或者postfix),这样就可以每天收到日志报告了。
缺省logwatch只报告昨天的日志,可以用# logwatch –print –range all 获得所有的日志分析结果。
可以用# logwatch –print –detail high 获得更具体的日志分析结果(而不仅仅是出错日志)。

16、杀掉80端口相关的进程

lsof -i :80|grep -v "PID"|awk ‘{print "kill -9",$2}‘|sh

17、清除僵死进程
ps -eal | awk ‘{ if ($2 == "Z") {print $4}}‘ | kill -9

18、tcpdump 抓包 ,用来防止80端口被人攻击时可以分析数据

tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts

19、然后检查IP的重复数 并从小到大排序 注意 "-t\ +0"   中间是两个空格

less pkts | awk {‘printf $3"\n"‘} | cut -d. -f 1-4 | sort | uniq -c | awk {‘printf $1" "$2"\n"‘} | sort -n -t\ +0

20、查看有多少个活动的php-cgi进程

netstat -anp | grep php-cgi | grep ^tcp | wc -l
chkconfig --list | awk ‘{if ($5=="3:on") print $1}‘

21、kudzu查看网卡型号

kudzu --probe --class=network

注:在线正则表达式

http://tool.oschina.net/regex

http://tools.jb51.net/regex/create_reg

时间: 2024-09-30 10:42:22

linux运维之分析系统负载及运行状况的相关文章

Linux- 日常运维-w-查看系统负载

w:22:18:52 up 41 days, 7:48, 当前时间 开机41天,7小时,48分钟 1 user:当前一个登陆用户load average: 0.00, 0.01, 0.05(系统负载):三个数字代表:1分钟,5分钟,15分钟,这个时间段内,系统负载指多少.单位时间内,使用CPU活动的进程有几个.最理想状态,是前提,你有几个逻辑cpu,查看你有几颗cpu: cat /proc/cpuinfoprocessor : 0 0表示,你有一颗cpu,如果是1,则代表你有两颗,如果是3,则代

linux运维之分析日志相关命令(1)

一.分析日志 1.查看有多少IP访问 awk '{print $1}' log_file|sort|uniq|wc -l 2.查看某一个页面被访问的次数 grep "/index.php" log_file | wc -l 3.查看每一个IP访问了多少个页面 awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file > log.txt sort -n -t ' ' -k 2 log.txt #配合sort进一步排序 4.将每

如何迅速掌握并提高linux运维技能

之前曾经写过一篇如何学习Linux的文章,得到了很多反馈,大家都在分享自己的学习经验和体会,并且也提出了不少意见和建议.学习这个事情其实是说起来容易,做起来就很难,虽然给大家提高了很多学习linux的思路和方法,但是很多时候,学习的过程是个锻炼和总结的过程,需要自己去体会和领悟,而这个领悟跟钻研的深度有关,所以,对linux技术点钻研较深的朋友,可能收获的知识就多一些,提高也就快一些,而相反,不太喜欢钻研的朋友们,技能提高就稍微慢一点,因此,我们说虽然有了统一的学习方法,但是由于每个人的领悟力不

如何掌握并提高linux运维技能

初中级Linux运维人员们系统学习并迅速掌握Linux的运维实战技能.学习路线大纲如下: 入门基础篇 系统运维篇 Web运维篇 数据库运维篇 集群实战篇 运维监控篇 第一篇:Linux入门(安装.配置.shell命令)基础篇 一. 学习Linux的经验与技巧 1.1 Linux在各领域发展的现状和趋势 1.1.1 Linux与开源软件(Linux成就了开源) 1.1.2 Linux在服务器领域的发展(市场占有率95%,2015年数据) 1.1.3 Linux在桌面领域的发展 1.1.4 Linu

No.1 linux运维

一.Linux起源 自由软件之父Richard M. Stallman 1984 GNU Copyleft OpenSource Free GPL既然是历史,就让它成为历史吧..但请记住他们(GNU/GPL)2.Linux 之父林纳斯?本纳第克特?托瓦兹(Linus Benedict Torvalds, 1969年~ ),著名的电脑程序员.黑客.Linux内核的发明人 及 该计划的合作者.托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统(作业系统)内核之 一.现受 聘于开放源代码开发

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)

51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程 第一课 Linux运维经验分享与思路 1.一般把主机名,写到hosts下    127.0.0.1    hostname,因为很多应用要解析到本地.oracle没有这个解析可能启动不了. 2.注释掉UUID以及MAC地址,需要绑定网卡的时候,这个可能会有影响. 3.磁盘满了无法启动,  var下木有空间,无法创创建PID等文件,导致文件无法启动,按e   进入single  然后b  重启进入单用户模式. 4.ssh登陆系

Linux运维系统工程师系列---14

进程管理 什么是程序?program 程序:完成某个功能的一段代码的集合 什么是进程? 进程是程序运行之后,在内存中的状态 如何产生一个进程? 执行一个程序或者命令就可以产生一个进程 提到进程,不得不说一个目录 /proc:是一个虚拟的文件系统,这个目录下的文件和目录都是保存在内存里的 [[email protected] ~]# ll -d /proc/ dr-xr-xr-x. 157 root root 0 Oct 10 00:33 /proc/ 大小是0,根本没有占用磁盘空间,就是假的.

Linux运维系统工程师系列---15

系统日志 何谓日志? 相当于系统中的账本,会将系统中发生的事情,按照时间先后顺序,分门别类的记录到不通的文件里. 日志的用途? 当系统发生问题,或者查询历史信息的时候,我们会查询日志. 1)解决系统方面的错误 2)解决网络方面的问题 3)记录重要的事件 4)解决安全方面问题,一般分析日志,看看有无风险 日志的种类: 1)系统自带日志 2)文件系统日志  ext3/ext4 3)应用程序自带的日志,比如ssh,dhcp,http都有相应的日志 1.日志简介 Linux系统日志默认存放位置 /var

6 个 Linux 运维典型问题,大牛的分析解决思路在这里

作为一名合格的 Linux 运维工程师,一定要有一套清晰.明确的解决故障思路,当问题出现时,才能迅速定位.解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决. 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个