Linux运维常用的几个命令介绍
imsq8911
9年前
来自: http://openskill.cn/article/278
1. 查看系统内核版本
[root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m
显示了系统名称(CentOS)和内核版本(release 6.5)
The file /etc/issue is a text file which contains a message or system identification to be printed before the login prompt.
2. 查看系统信息flyhup@ubuntu:~$ uname -a Linux ubuntu 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:18:00 UTC 2015 i686 i686 i686 GNU/Linux
uname -a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
3. 查看磁盘空间占用情况$df -hl Filesystem Size Used Avail Use% Mounted on /dev/xvda1 100G 5.0G 90G 6% / tmpfs 1.9G 104K 1.9G 1% /dev/shm
参数:
- -h:方便阅读
- -a:全部文件系统列表
4. 查看内存
一、free命令
root@xen_202_12 /]# free -m total used free shared buffers cached Mem: 3072 2459 612 0 207 1803 -/+ buffers/cache: 447 2624 Swap: 1913 0 1913
第2行:
- otal 内存总数: 3072【注意单位是M,可以用参数-hm更醒目】
- used 已经使用的内存数: 2459
- free 空闲的内存数: 612
- shared 当前已经废弃不用,总是0
- buffers: Buffer Cache内存数: 207
- cached: Page Cache内存数: 2803
- 关系:total = used + free
第3行:
- -/+ buffers/cache的意思:
- -buffers/cache 的内存数: 447 (等于第1行的 used - buffers - cached)
- +buffers/cache 的内存数: 2624 (等于第1行的 free + buffers + cached)
注:此处的内存数在用上面式子计算后,在大小上有一点点出入(还不知道是什么原因)。
可见-buffers/cache反映的是被程序实实在在吃掉的内存,而+buffers/cache反映的是可以挪用的内存总数。
5. 查看cpu内核数# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l # 查看每个物理CPU中core的个数(即核数) cat /proc/cpuinfo| grep "cpu cores"| uniq # 查看逻辑CPU的个数 cat /proc/cpuinfo| grep "processor"| wc -l6. 查看系统负载
dimite@ubuntu:~$ uptime 15:41:09 up 42 min, 2 users, load average: 0.08, 0.03, 0.05
- 当前时间 15:41:09
- 系统已运行的时间 42min
- 当前在线用户 2 user
- 平均负载:0.54, 0.40, 0.20,最近1分钟、5分钟、15分钟系统的负载
何为系统负载呢?
系统平均负载被定义为在 特定时间间隔内运行队列中的平均进程数目 。如果一个进程满足以下条件则其就会位于运行队列中:
- 它没有在等待I/O操作的结果
- 它没有主动进入等待状态(也就是没有调用'wait')
- 没有被停止(例如:等待终止)
一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.
7. 查看进程ps -ef or ps aux
杀死所有含worker的进程
ps -ef | grep worker | awk '{print $2}' | xargs sudo kill -9 or ps -aux | grep worker | awk '{print $2}' | xargs sudo kill -98. 查看端口占用
netstat -anp or netstat -nltup
参数:
- -a (all)显示所有选项,默认不显示LISTEN相关
- -t (tcp)仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化成数字。
- -l 仅列出有在 Listen (监听) 的服務状态
- -p 显示建立相关链接的程序名
- -r 显示路由信息,路由表
- -e 显示扩展信息,例如uid等
- -s 按各个协议进行统计
- -c 每隔一个固定时间,执行该netstat命令。
- 提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到