1. 简介
常用命令有top 和mpstat
2.命令
2.1 top
2.1.1 简介
top命令 可以实时动态地查看系统的整体运行情况。
2.1.2 语法:
top (选项)
常用命令有top 和mpstat
top命令 可以实时动态地查看系统的整体运行情况。
top (选项)
linux磁盘监控命令主要有,df,iostat,iotop
df命令 用于显示磁盘分区上的可使用的磁盘空间。如果没有文件名被指定,则显示当前所有被挂载的文件系统,默认以 KB 为单位。
df (选项) (参数)
内存监控主要有free 和 vmstat
Linux free命令用于显示内存状态。
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
free [-bkmotV][-s <间隔秒数>]
linux中网络监控命令主要是netstat 和sar
netstat命令一般用于检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据。
netstat -aup # 输出所有UDP连接状况
netstat -atp # 输出所有TCP连接状况
netstat -s # 显示各个协议的网络统计信息
netstat -i # 显示网卡列表
netstat -r # 显示路由表信息
netstat -l # 只显示监听端口
netstat -lt # 只列出所有监听 tcp 端口
netstat -lu # 只列出所有监听 udp 端口
netstat -lx # 只列出所有监听 UNIX 端口
netstat -p或--programs # 显示正在使用Socket的程序识别码和程序名称;
进程监控命令ps
ps(Process Status,进程状态)命令 用于报告当前系统的进程状态。
ps [参数]
常用参数:
-A 显示所有进程(同-e)
-a 显示当前终端的所有进程
-u 显示进程的用户信息
-o 以用户自定义形式显示进程信息
-f 显示程序间的关系
1.需求案例:完成MyBatis基本使用——CRUD综合练习实践练习。
2.项目架构:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS user;
CREATE TABLE user (
id int NOT NULL AUTO_INCREMENT,
username varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
password varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO user VALUES (1, 'Peng Yuning', '8WvErMonB8');
INSERT INTO user VALUES (2, 'Takahashi Kasumi', 'YUEsievZJM');
INSERT INTO user VALUES (3, 'Bruce Rodriguez', 'oSKkZSv4wm');
INSERT INTO user VALUES (4, 'Lau Ching Wan', 'F0WfooyAy2');
INSERT INTO user VALUES (5, 'Lui Sze Kwan', 'Msou1bJ0vv');
INSERT INTO user VALUES (6, 'Ernest Crawford', '6BZpnzERaC');
INSERT INTO user VALUES (7, 'Juan Castillo', '8enHa9Ay1D');
INSERT INTO user VALUES (8, 'Fu Wing Kuen', 'kQbmCoKWxa');
INSERT INTO user VALUES (9, 'Valerie Harrison', 'MaIuoHAGHQ');
INSERT INTO user VALUES (10, 'Margaret Henderson', 'pBCv42yItl');
SET FOREIGN_KEY_CHECKS = 1;
1.需求案例:搭建一个三层架构案例,模拟查询全部用户(用户表)信息,持久层使用JdbcTemplate和Druid技术,使用注解方式进行组件管理,使用Java配置类代替XML配置文件。
2.项目架构:参考借鉴《Spring项目实践——IoC/DI案例》
3.数据模型:
CREATE TABLE user (
id INT(11) NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
以下命令以Ubuntu 18.04 LTS 系统为准。
命令 | 功能 | 实例 | |
---|---|---|---|
free | 查看内存使用情况,包括物理内存和虚拟内存 | free -h 或 free -m | |
vmstat | 对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息 | vmstat 2 100 | |
top | 实时显示系统中各个进程的资源占用状况及总体状况 | top | |
mpstat | 实时系统监控工具,它会报告与CPU相关的统计信息 | mpstat | |
sar | 收集、报告和保存CPU、内存、输入输出端口使用情况 | sar -n DEV 3 100 | |
netstat | 检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据 | netstat -a | |
tcpdump | 用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包 | tcpdump -i eth0 -c 3 | |
iptraf | 用来生成包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验和错误等等统计数据 | iptraf | |
iostat | 收集显示系统存储设备输入和输出状态统计 | iostat -x -k 2 100 | |
lsof | 查看进程打开的文件的工具,查看监听端口 | lsof -i :3000 | |
atop | 显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注 | atop | |
htop | 它和top命令十分相似,高级的交互式的实时linux进程监控工具 | htop | |
ps | 最基本同时也是非常强大的进程查看命令 | ps aux | grep php |
glances | 监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况 | glances | |
dstat | 全能系统信息统计工具,可用于替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具 | dstat | |
uptime | 用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况 | uptime | |
dmesg | 主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题 | dmesg | |
mpstat | 用于报告多路CPU主机的每颗CPU活动情况,以及整个主机的CPU情况 | mpstat 2 3 | |
nmon | 监控CPU、内存、I/O、文件系统及网络资源。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息 | nmon | |
mytop | 用于监控 mysql 的线程和性能。它能让你实时查看数据库以及正在处理哪些查询 | mytop | |
iftop | 用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等 | iftop | |
jnettop | 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志 | jnettop | |
ngrep | 网络层的 grep。它使用 pcap ,允许通过指定扩展正则表达式或十六进制表达式来匹配数据包 | ngrep | |
nmap | 可以扫描你服务器开放的端口并且可以检测正在使用哪个操作系统 | nmap localhost | |
du | 查看Linux系统中某目录的大小 | du -sh * | |
fdisk | 查看硬盘及分区信息 | fdisk -l |
Shell 是一个命令解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。
第一范式(1NF):用来确保每列的原子性,要求每列(或者每个属性值)都是不可再分的最小数据单元(也称为最小的原子单元)。
第二范式(2NF):在第一范式的基础上更进一层,要求表中的每列都和主键相关,即要求实体的唯一性。如果一个表满足第一范式,并且除了主键以外的其他列全部都依赖于该主键,那么该表满足第二范式。
第三范式(3NF):在第二范式的基础上更进一层,第三范式是确保每列都和主键列直接相关,而不是间接相关,即限制列的冗余性。如果一个关系满足第二范式,并且除了主键以外的其他列都依赖于主键列,列和列之间不存在相互依赖关系,则满足第三范式。