目录

1 CPU状态检查

1.1 运行时间

信息:

运行时间 / Uptime

工具:

uptime

示例:

[root@paris ~]# uptime
17:03:12 up 2 days, 20:08, 7 users, load average: 0.06, 0.05, 0.00

处理方法:

如小于预期,则深究

1.2 CPU占用率

信息:

CPU占用率 / CPU Usage

工具:

sar -P ALL 2 5

#每隔两秒对CPU的占用率采样一次,连续采样五次,最后打印出CPU总的以及每个核的占用情况

示例:

[root@TVLD2 ~]# sar -P ALL 2 5
Linux 2.6.18-128.el5 (TVLD2) 10/20/2018
Average: CPU %user %nice %system %iowait %steal %idle
Average: all 17.42 0.00 17.92 0.00 0.00 64.66
Average: 0 19.20 0.00 4.80 0.00 0.00 76.00
Average: 1 23.30 0.00 8.30 0.00 0.00 68.40
Average: 2 6.20 0.00 45.40 0.00 0.00 48.40
Average: 3 21.08 0.00 13.09 0.00 0.00 65.83

计算方法:

CPU占用率 = 100% - %idle

 处理方法:

如与预期不符或高于90%,则深究

1.3 单核占用率

信息:

单核占用率 / Core Usage

工具:

sar -P ALL 2 5

#每隔两秒对CPU的占用率采样一次,连续采样五次,最后打印出CPU总的以及每个核的占用情况

计算方法:

CPU单核占用率 = 100% - 单核%idle

处理方法:

如与预期不符或高于90%,则深究

2 内存状态检查

2.1 内存占用率

信息:

内存占用率 / Memory Usage

工具:

free

示例:

[root@TVLD2 ~]# free
total used free shared buffers cached
Mem: 503232 7304 0 98656 297196
-/+ buffers/cache: 403156
Swap: 1048568 0 1048568

计算方法:

内存占用率 = (used - buffers – cached) / total * 100%

处理方法:

如与预期不符或高于90%,则深究

2.2 交换分区占用率

信息:

交换分区 / Swap Usage

工具:

free

示例:

[root@TVLD2 ~]# free
total used free shared buffers cached
Mem: 510536 503232 7304 0 98656 297196
-/+ buffers/cache: 107380 403156
Swap: 1048568

计算方法:

内存占用率 = (swap used / swap total ) * 100%

处理方法:

如与预期不符或高于0%,则深究

3 磁盘状态检查

3.1 系统磁盘容量占用率

信息:

系统磁盘容量占用率 / Sys Disk Usage

工具:

df -h

示例:

[root@VODLD ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/md0 902G 32G 824G 4% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/md1 9.9T 7.3T 2.2T 78% /opt/fonsview/NE/vodld/data

统计方法:

根据设备名进行统计

/dev/md0 4%

/dev/md1 78%

处理方法:

如与预期不符或高于95%,则深究

3.2 磁盘健康状态

信息:

磁盘健康状态 / Health Check

工具:

fdisk -l               #获取磁盘设备名列表

smartctl -H /dev/sdX    #查看具体磁盘的健康状态

示例:

[root@london data]# smartctl -H /dev/sdc
smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
[root@london data]# smartctl -Hc /dev/sda
smartctl 5.40 2010-10-16 r3189 [i686-pc-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: FAILED!
Drive failure expected in less than 24 hours. SAVE ALL DATA.
Failed Attributes:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 035 030 051 Pre-fail Always FAILING_NOW 96231

取值:

PASSED  表示磁盘健康

FAILED   表示磁盘不健康

统计方法:

根据设备名显示磁盘健康状态

处理方法:

如果FAILED!,立即更换磁盘

3.3 磁盘读速率

信息:

磁盘10秒内的平均读速率 / Read Rate

工具:

sar -dp 2 5

示例:

[root@london data]# sar -dp 2 5
Linux 2.6.18-128.el5 (london.sz.fonsview.com) 10/20/2018
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: sda 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda1 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdb 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb1 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdc 16.20 16519.40 0.00 1019.72 0.14 8.37 7.38 11.96
Average: sdd 15.50 15872.00 0.00 1024.00 0.15 9.86 7.59 11.76
Average: sde 15.60 15974.40 0.00 1024.00 0.13 8.19 7.47 11.66
Average: sdf 15.00 15261.90 0.00 1017.46 0.13 8.79 7.67 11.51

计算方法:

磁盘读速率 = (rd_sec/s) / 2

统计方法:

显示每块磁盘10秒内的平均读速率

处理方法:

如与预期不符或大于50MB/s,则深究

3.4 磁盘写速率

信息:

磁盘10秒内的平均写速率 / Write Rate

工具:

sar -dp 2 5

示例:

[root@london data]# sar -dp 2 5
Linux 2.6.18-128.el5 (london.sz.fonsview.com) 10/20/2018
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: sda 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda1 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdb 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb1 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdc 16.20 16519.40 0.00 1019.72 0.14 8.37 7.38 11.96
Average: sdd 15.50 15872.00 0.00 1024.00 0.15 9.86 7.59 11.76
Average: sde 15.60 15974.40 0.00 1024.00 0.13 8.19 7.47 11.66
Average: sdf 15.00 15261.90 0.00 1017.46 0.13 8.79 7.67 11.51

计算方法:

磁盘写速率 = (wr_sec/s) / 2

统计方法:

显示每块磁盘10秒内的平均写速率

处理方法:

如与预期不符或大于40MB/s,则深究

3.5 磁盘每秒IO数

信息:

磁盘每秒IO数 / TPS

工具:

sar -dp 2 5

示例:

[root@london data]# sar -dp 2 5
Linux 2.6.18-128.el5 (london.sz.fonsview.com) 10/20/2018
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: sda 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda1 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdb 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb1 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdc 16.20 16519.40 0.00 1019.72 0.14 8.37 7.38 11.96
Average: sdd 15.50 15872.00 0.00 1024.00 0.15 9.86 7.59 11.76
Average: sde 15.60 15974.40 0.00 1024.00 0.13 8.19 7.47 11.66
Average: sdf 15.00 15261.90 0.00 1017.46 0.13 8.79 7.67 11.51

统计方法:

显示每块磁盘10秒内的平均每秒IO数

处理方法:

如与预期不符或超过50,则深究

3.6 磁盘使用率

信息:

磁盘使用率 / Disk Utilization

工具:

sar -dp 2 5

示例:

[root@london data]# sar -dp 2 5
Linux 2.6.18-128.el5 (london.sz.fonsview.com) 10/20/2018
Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: sda 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda1 7.60 420.80 70.40 64.63 0.04 5.50 4.43 3.37
Average: sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdb 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb1 7.40 444.80 70.40 69.62 0.04 4.95 3.85 2.85
Average: sdb2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdc 16.20 16519.40 0.00 1019.72 0.14 8.37 7.38 11.96
Average: sdd 15.50 15872.00 0.00 1024.00 0.15 9.86 7.59 11.76
Average: sde 15.60 15974.40 0.00 1024.00 0.13 8.19 7.47 11.66
Average: sdf 15.00 15261.90 0.00 1017.46 0.13 8.79 7.67 11.51

计算方法:

磁盘使用率 = %util

统计方法:

显示每块磁盘10秒内的平均使用率

处理方法:

如与预期不符或超过70%,则深究

4 网卡状态检查

4.1 网卡链路状态

信息:

网卡链路状态 / Link Status

取值:

yes 表示检测到链路

no  表示未检测到链路

工具:

ip addr               #获取网卡设备名列表

ethtool ethX           #查看具体网卡的状态

示例:

[root@paris root]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes

统计方法:

显示每块网卡的链路状态

处理方法:

如与预期不符且未检测到链路,则

a.检查网线是否脱离网口

b.检查网线的另一头是否脱离网口

c.检查网线的另一头的机器是否关机

4.2 网卡启用状态

信息:

网卡启用状态 / NIC Status

取值:

UP           表示网卡已启用

DOWN     表示网卡未启用

工具:

ifconfig ethX           #查看具体网卡的状态

示例:

[root@london data]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:15:17:83:F1:58
inet addr:172.16.201.210 Bcast:172.16.201.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fe83:f158/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10223856 errors:0 dropped:0 overruns:0 frame:0
TX packets:1573906 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10068100799 (9.3 GiB) TX bytes:1008851902 (962.1 MiB)
Memory:b8820000-b8840000 [root@Sofia3 data]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:25:90:1B:F1:5F
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Memory:fbde0000-fbe00000

统计方法:

显示每块网卡的启用状态

处理方法:

如与预期不符且网卡DOWN,则尝试ifup该网口

4.3 网卡速率

信息:

网卡速率 / Speed

取值范围:

1000Mb/s

100Mb/s

10Mb/s

Unknown!        表示网卡未启用

工具:

ip addr               #获取网卡设备名列表

ethtool ethX           #查看具体网卡的速率

示例:

[root@paris root]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes [root@zurich ~]# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised auto-negotiation: Yes
Speed: Unknown! (0)
Duplex: Half
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
Link detected: no

统计方法:

显示每块网卡的速率

处理方法:

如与预期不符,则重启该网口,即先ifdown,再ifup该网口

4.4 网卡双工状态

信息:

网卡双工状态 / Duplex

取值:

Full  表示全双工

Half 表示半双工

工具:

ip addr               #获取网卡设备名列表

ethtool ethX           #查看具体网卡的速率

示例:

[root@paris root]# ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes

统计方法:

显示每块网卡双工状态

处理方法:

如与预期不符,则深究

4.5 网卡发送速率

信息:

网卡发送速率 /  txbyt/s

工具:

sar -n DEV 2 5

示例:

[root@london data]# sar -n DEV 2 5
Linux 2.6.18-128.el5 (london.sz.fonsview.com) 10/20/2018
Average: IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 5226.50 10013.40 383753.60 15166070.80 0.00 0.00 40.10
Average: eth1 1394.40 7602.00 96752.80 11527150.00 0.00 0.00 0.10
Average: eth2 4479.60 4537.30 307995.40 6881234.20 0.00 0.00 0.10
Average: eth3 3038.80 11563.80 212539.60 17536266.00 0.00 0.00 0.10
Average: eth4 2696.60 7827.60 184527.00 11871126.00 0.00 0.00 0.10
Average: eth5 7789.00 18856.90 534560.60 28600892.20 0.00 0.00 0.10

计算方法:

网卡发送速率 = txbyt/s * 8

统计方法:

显示每块网卡的发送速率

4.6 网卡接收速率

信息:

网卡接收速率 / rxbps

工具:

sar -n DEV 2 5

示例:

[root@london data]# sar -n DEV 2 5
Linux 2.6.18-128.el5 (london.sz.fonsview.com) 10/20/2018
Average: IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 5226.50 10013.40 383753.60 15166070.80 0.00 0.00 40.10
Average: eth1 1394.40 7602.00 96752.80 11527150.00 0.00 0.00 0.10
Average: eth2 4479.60 4537.30 307995.40 6881234.20 0.00 0.00 0.10
Average: eth3 3038.80 11563.80 212539.60 17536266.00 0.00 0.00 0.10
Average: eth4 2696.60 7827.60 184527.00 11871126.00 0.00 0.00 0.10
Average: eth5 7789.00 18856.90 534560.60 28600892.20 0.00 0.00 0.10

计算方法:

网卡接收速率 = rxbyt/s * 8

统计方法:

显示每块网卡的接收速率

5 其他检查

5.1 CORE文件个数

信息:

CORE文件个数 / Core Files

工具:

ls -l /core*|wc -l

示例:

[root@paris data]# ls -l /core*|wc -l
2

统计方法:

显示CORE文件个数

处理方法:

应用程序曾经出错重启,请深究。

5.2 时间同步状态

信息:

时间同步状态 / NTP Syn Status

工具:

ntpq -p

示例:

同步成功:标有*号的行表示当前使用的服务器

[root@Sofia2 info_collector]# ntpq -pn
remote refid st t when poll reach delay offset jitter
=========================================================================
*221.7.129.79 210.72.145.44 2 u 40 64 37 107.377 21.054 9.256
210.72.145.44 .ACTS. 1 u 109 16 12 82.456 11.099 3.804

NTP服务未启动:

[root@Sofia2 info_collector]# ntpq -pn
ntpq: read: Connection refused

同步不成功:

[root@Sofia2 info_collector]# ntpq -pn
remote refid st t when poll reach delay offset jitter
==============================================================================
221.7.129.79 210.72.145.44 2 u 22 64 7 116.205 37.519 18.623
210.72.145.44 .INIT. 16 u - 64 0 0.000 0.000 0.000
202.120.2.101 61.153.197.226 3 u 24 64 7 52.665 112.022 11.560
133.100.11.8 .GPS. 1 u 21 64 5 335.591 12.114 4.222
66.92.68.246 .INIT. 16 u - 64 0 0.000 0.000 0.000

取值:

SYN:             同步

UNSYN:          未同步

统计方法:

显示CORE文件个数

处理方法:

恢复正常时间同步

5.3 系统log日志查看

信息:

kernel 是否有Erro

工具:

vim /var/log/messages

事例:

主要查看message日志的 kernel 和应用进程日志中是否有 erro 和异常的显示,最常见的第三方应用软件的相关如UCARP VRRP NTP等状态变更都会有显示,当磁盘、主板在出现异常的时候也会有显示。

linux系统运行状态检查的更多相关文章

  1. 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库

    1.    检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...

  2. linux系统健康检查脚本

    #!/bin/bash echo "You are logged in as `whoami`"; if [ `whoami` != root ]; then echo " ...

  3. 阿里云Linux系统基线检查优化

    1.用户权限配置文件的权限优化 描述:设置用户权限配置文件的权限 操作时建议做好记录或备份 chown root:root /etc/passwd /etc/shadow /etc/group /et ...

  4. Linux 系统状态检测命令

    介绍快速查看Linux系统运行状态的能力(网络网卡.系统内核.系统负载.内存使用情况.启用终端数量.历史登录记录.命令执行记录.救援诊断)等命令使用方法 1.ifconfig  用于获取网卡配置和网络 ...

  5. Linux入门教程:如何检查Linux系统的最后重启时间

    问题: 是否有一个命令可以快速地检查系统已经运行了多久? 也就是我怎么知道Linux系统最后的重启时间? 有许多方法来查询系统最后的重启时间. 方法一 第一种方法是使用last命令. $ last r ...

  6. linux系统ssh远程连接检查脚本

    脚本用于检查Linux系统云服务器出现的常见远程不能连接问题,脚本可以提前放到服务器里,出现问题时可以web vnc登陆上去执行试试. 附:管理控制台终端web vnc 方式登录,参考:http:// ...

  7. linux创建用户与登录提示motd与系统运行状态目录

    目录 一:登录提示文件 二:linux创建用户 三:系统日志目录 四:保存系统运行状态的目录 一:登录提示文件 登录成功之后显示的信息. 进入文本编辑 /etc/motd 文件中内容,会在用户登录系统 ...

  8. [转]linux 系统监控、诊断工具之 IO wait

    1.问题: 最近在做日志的实时同步,上线之前是做过单份线上日志压力测试的,消息队列和客户端.本机都没问题,但是没想到上了第二份日志之后,问题来了: 集群中的某台机器 top 看到负载巨高,集群中的机器 ...

  9. Linux系统学习笔记:文件描述符标志

    文件描述符标志的概念 文件描述符标志(目前就只有一个close-on-exec): 它仅仅是一个标志,当进程fork一个子进程的时候,在子进程中调用了exec函数时就用到了这个标志.意义是执行exec ...

随机推荐

  1. VueRouter 源码深度解析

    VueRouter 源码深度解析 该文章内容节选自团队的开源项目 InterviewMap.项目目前内容包含了 JS.网络.浏览器相关.性能优化.安全.框架.Git.数据结构.算法等内容,无论是基础还 ...

  2. Xamarin.Android 调用本地相册

    调用本地相册选中照片在ImageView上显示 代码: using System; using System.Collections.Generic; using System.Linq; using ...

  3. 关于resin的illegal utf8 encoding at (190)解决方式

    最近在项目开发中,出现了编码异常,内容如下:- illegal utf8 encoding at (190)com.caucho.jsp.JspParseException: illegal utf8 ...

  4. 如何从GitHub仓库clone项目

    自己也已经多次接触了git了,但是因为工作用svn,自己平时也很少用git,所以每次都是用的时候可能还可以,等过一段时间再来用的时候,就又忘得差不多了,所以索性自己写个博客,自己记得自己也好懂,而且熟 ...

  5. TCP/IP 笔记 - 域名解析和域名系统

    由于IP地址的烦琐导致的记忆和使用困难,互联网支持使用主机名称来识别包括客户机和服务器在内的主机.同时为了使用一系列协议,主机名称通过称为"名称解析"的过程转换成对应IP地址. 互 ...

  6. 常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战.

    常见注入手法第四讲,SetWindowsHookEx全局钩子注入.以及注入QQ32位实战. PS:上面是操作.最后是原理 一丶需要了解的API 使用全局钩子注入.我们需要了解几个WindowsAPI. ...

  7. Apache Kafka: 优化部署的10个最佳实践

    原文作者:Ben Bromhead      译者:江玮 原文地址:https://www.infoq.com/articles/apache-kafka-best-practices-to-opti ...

  8. JavaWeb之Maven一

    Maven和C#的nuget类似,可以通过设置就能引入框架等第三方,方便又省事.Java中使用Maven来管理第三方.今天尝试着配置了一下. 一.JDK的安装 关于JDK的安装可以查看百度经验,设置P ...

  9. python取余

    a=-7,b=3, a % b = 2  #取余 a-((a/b)*b) a / b= -3 #整除 int(math.floor(-7/3.0))

  10. MVC四大筛选器—ActionFilter&ResultedFilter

    AuthorizeFilter筛选器 在Action的执行中包括两个重要的部分,一个是Action方法本身逻辑代码的执行,第二个就是Action方法的筛选器的执行. MVC4中筛选器都是以AOP(面向 ...