linux运维
1. 查看系统内核版本
$cat /etc/issue Red Hat Enterprise Linux Server release 6.2 (Santiago) Kernel \r on an \m
显示了系统名称(Red Hat Enterprise)和内核版本(release 6.2)
The file /etc/issue is a text file which contains a message or system identification to be printed before the login prompt.
2. 查看系统信息
dimite@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:全部文件系统列表
查看文件、目录大小
du #列出本目录下,目录的大小(默认的计数单位是k) du -h filename #以更易读的方式显示所查文件/目录的大小 du -sh dirname #查看目录dirname的总大小
sudo du -h --max-depth=1
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行:
total 内存总数: 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 -l
6. 查看系统负载
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
杀死所有含worker的进程
ps -ef | grep worker | awk '{print $2}' | xargs sudo kill -9
8. 查看端口占用
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才能看到