Linux 实战

在Linux CentOs中遇到的一些实际情况

磁盘占用100%

  • df -Th - 查看磁盘空间使用情况
1
2
3
4
5
6
[root@caoxl /]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 40G 11G 27G 30% /
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 536K 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
  • du -sh ./* - 查看目录所占空间大小
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@caoxl www]# du -sh ./*
18M ./barrage
37M ./caoxl
4.0K ./docker
8.0K ./go
54M ./laravel
84M ./laravel_admin
189M ./laravel_docker
56M ./laravels
49M ./lumen
47M ./lumens
1.5M ./php_msf
64K ./python
40M ./swoft
304K ./swoole
176K ./test
6.7M ./tp3
2.1M ./tp5
4.0K ./yaf

查看哪个进程占用磁盘IO

  • iotop -oP - 只显示有I/O行为的进程
1
2
3
Total DISK READ :	0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s
PID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
  • pidstat -d 1 - 展示I/O统计,每秒更新一次
1
2
3
4
5
6
7
8
[root@caoxl /]# pidstat -d 1
Linux 3.10.0-862.14.4.el7.x86_64 (caoxl) 05/24/2019 _x86_64_ (2 CPU)

10:45:32 AM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command

10:45:33 AM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command

10:45:34 AM UID PID kB_rd/s kB_wr/s kB_ccwr/s Command
  • iostat -x 1 10 - 查看磁盘IO,是否读写负载很高
1
2
3
4
5
6
7
8
[root@caoxl /]# iostat -x 1 10
Linux 3.10.0-862.14.4.el7.x86_64 (caoxl) 05/24/2019 _x86_64_ (2 CPU)

avg-cpu: %user %nice %system %iowait %steal %idle
0.47 0.01 0.44 1.21 0.00 97.87

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.16 0.85 45.39 20.22 544.48 95.77 19.52 0.15 2.24 2.38 1.92 0.46 3.02

如果 iostat 没有,要 yum install sysstat安装这个包
如果%util接近100%,表明I/O请求太多,I/O系统已经满负荷,磁盘可能存在瓶颈,一般%util大于70%,I/O压力就比较大

查询目录大小,并排序显示

  • du -h --max-depth=1 | grep G | sort -n
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@caoxl www]# du -h --max-depth=1|grep M|sort -n
1.5M ./php_msf
2.1M ./tp5
6.7M ./tp3
18M ./barrage
37M ./caoxl
40M ./swoft
47M ./lumens
49M ./lumen
54M ./laravel
56M ./laravels
84M ./laravel_admin
189M ./laravel_docker
583M .
  • --max-depth=1: 表示只递归层数
  • grep M: 表示查询什么单位的M/G等等
  • sort -n: 表示依照数值的大小排序

查询已经删除的文件

  • lsof | grep deleted
1
2
3
4
[root@caoxl www]# lsof | grep deleted | grep php
php-fpm 896 root 3u REG 253,1 0 393658 /tmp/.ZendSem.VOY7vA (deleted)
php-fpm 902 www 3u REG 253,1 0 393658 /tmp/.ZendSem.VOY7vA (deleted)
php-fpm 903 www 3u REG 253,1 0 393658 /tmp/.ZendSem.VOY7vA (deleted)

查看一个进程精确启动时间

  • ps -ef && ps -eO lstart
1
2
3
4
5
6
7
8
9
// 24小时内
[root@caoxl /]# ps -ef | grep docker
root 2179 1 0 10:36 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 4812 1121 0 11:14 pts/0 00:00:00 grep --color=auto docker

// 超过24小时
[root@caoxl /]# ps -eO lstart | grep docker
2179 Fri May 24 10:36:30 2019 S ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
4850 Fri May 24 11:14:42 2019 S pts/0 00:00:00 grep --color=auto docker

查询Linux系统相关

  • cat /proc/version - 查看linux内核版本
1
2
[root@caoxl /]# cat /proc/version
Linux version 3.10.0-862.14.4.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed Sep 26 15:12:11 UTC 2018
  • uname -a - 查看内核/操作系统的信息
1
2
[root@caoxl /]# uname -a
Linux caoxl 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
  • lsb_release -a - 查看系统版本号
1
2
3
4
5
6
[root@caoxl /]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1804 (Core)
Release: 7.5.1804
Codename: Core

查询进程相关

  • netstat -lp | grep mysql - 查看启动的mysql服务
1
2
3
[root@caoxl /]# netstat -lp | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 2857/mysqld
unix 2 [ ACC ] STREAM LISTENING 42225 2857/mysqld /tmp/mysql.sock
  • netstat -nltp | grep 9001 - 查询9001端口是否监听
1
2
[root@caoxl /]# netstat -nltp | grep 9001
tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 882/php-fpm: master
  • ps -aux | grep php - 查询进程
1
2
3
4
5
[root@caoxl /]# ps -aux | grep php
root 882 0.0 0.1 217812 5012 ? Ss 10:21 0:00 php-fpm: master process (/usr/local/php/php56/etc/php-fpm.conf)
www 891 0.0 0.1 217812 4552 ? S 10:21 0:00 php-fpm: pool www
www 892 0.0 0.1 217812 4552 ? S 10:21 0:00 php-fpm: pool www
root 5937 0.0 0.0 112708 972 pts/0 S+ 11:34 0:00 grep --color=auto php
  • ps -ef | grep php - 查询进程
1
2
3
4
5
[root@caoxl /]# ps -ef | grep php
root 882 1 0 10:21 ? 00:00:00 php-fpm: master process (/usr/local/php/php56/etc/php-fpm.conf)
www 891 882 0 10:21 ? 00:00:00 php-fpm: pool www
www 892 882 0 10:21 ? 00:00:00 php-fpm: pool www
root 5998 1121 0 11:35 pts/0 00:00:00 grep --color=auto php
  • history | grep iotop - 列出最近使用iotop命令的记录
1
2
3
4
[root@caoxl /]# history | grep iotop
1035 iotop -oP
1049 iotop -oP
1142 history | grep iotop

查询硬件相关

1
2
3
4
[root@caoxl /]# dmesg               // 监测硬件和启动消息
[root@caoxl /]# cat /proc/cpuinfo // CPU信息
[root@caoxl /]# cat /proc/meminfo // 硬件内存信息
[root@caoxl /]# free -m // 内存信息

查询统计相关

1
2
3
4
5
6
[root@caoxl /]# top                 // 显示并不断更新最耗CPU的进程
[root@caoxl /]# mpstat 1 // 显示CPU统计信息
[root@caoxl /]# vmstat 2 // 显示虚拟内存统计信息 (2s采样间隔)
[root@caoxl /]# iostat 2 // 显示IO统计信息
[root@caoxl /]# tcpdump -i eth1 // 捕获eth1网络接口上的所有数据包
[root@caoxl /]# tcpdump -i eth0 'port 80' // 监控80端口的网络流量

Powered by Hexo and Hexo-theme-hiker

Copyright © 2017 - 2021 Keep It Simple And Stupid All Rights Reserved.

访客数 : | 访问量 :