查看内存CPU使用情况 Top
第一行
当前时间16:04:49
系统已运行时间 188天4小时32分
当前登陆用户数 1个user
负载情况 load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
第二行:
Tasks( 任务/进程)100个进程,其中处于运行中的有1个,99个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态
us — 用户空间占用CPU的百分比。
sy — 内核空间占用CPU的百分比。
ni — 改变过优先级的进程占用CPU的百分比。
id — 空闲CPU百分比。
wa — IO等待占用CPU的百分比。
hi — 硬中断(Hardware IRQ)占用CPU的百分比。
si — 软中断(Software Interrupts)占用CPU的百分比 。
st — 被虚拟机偷走的cpu。
第四行:内存状态
total — 物理内存总量。
used — 使用中的内存总量。
free — 空闲内存总量。
buffers — 缓存的内存量 。
第五行:swap交换分区
total — 交换区总量。
used — 使用的交换区总量。
free — 空闲交换区总量。
cached — 缓冲的交换区总量。
内容
PID — 进程id。
USER — 进程所有者。
PR — 进程优先级。
NI — nice值。负值表示高优先级,正值表示低优先级。
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES。
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA。
SHR — 共享内存大小,单位kb。
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程。
%CPU — 上次更新到现在的CPU时间占用百分比。
%MEM — 进程使用的物理内存百分比。
TIME+ — 进程使用的CPU时间总计,单位1/100秒。
COMMAND — 进程名称(命令名/命令行)。
操作:
- b: 打开/关闭高亮效果。
- x:打开/关闭排序列高亮效果。
- shift + ‘<’ 或 ‘>’ 向左向右改变排序列。
- e修改进程列表单位显示,E修改前五行单位显示信息。
top -H -p [进程id] 查看某进程的线程信息
vmstat
vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,相比top,通过vmstat可以看到整个机器的 CPU,内存,IO的使用情况, 而不是单单看到各个进程的CPU使用率和内存使用率。
注:功能类似指令:sar、mpstat、
1 | vmstat [采样的时间间隔数(单位是秒)] [采样的次数(不写一直执行下去)] |
判断负载情况
1、假如 r 经常大于4 ,且 id 经常小于40,表示中央处理器的负荷很重。
2、假如 bi,bo 长期不等于0,表示物理内存容量太小。
free -h
简介
查看内存使用使用情况
查找
find [目录] [条件] [动作]
如 find . -name ‘name*’ 查找当前目录下以name开头的文件名
1 | [root@iZwz9 ~]# find . -name "name*" |
locate
通过搜寻系统内建文档数据库达到快速找到档案,数据库由 updatedb 程序来更新,centos7默认没安装,可执行``yum install mlocate` 安装。(注:第一次使用前需执行updatedb)
1 | #参数 |
查看与pwd相关的文件(显示4行)
查找etc目录下sh开头的文件
查找/etc目录下以dow结尾的文件
whitch
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
1 | [root@~]# which ps |
whereis
只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
1 | [root@iZwz9 ~]# whereis npm |
type
用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。
1 | [root@iZwz9 ~]# type cd |
防火墙(CentOS7)
查看所有开放的端口号
1 | firewall-cmd --list-all |
查看指定端口是否已开放
1 | firewall-cmd --query-port=6379/tcp |
设置开放的端口号
1 | firewall-cmd --add-port=80/tcp --permanent |
重新加载防火墙
1 | firewall-cmd --reload |
启动
1 | systemctl start firewalld |
查看状态
1 | systemctl status firewalld |
停止
1 | systemctl disable firewalld |
禁用
1 | systemctl stop firewalld |
vim编辑常用指令
命令模式
命令 | 作用 |
---|---|
5dd | 删除(剪切)从光标处开始的 5 行 |
5yy | 复制从光标处开始的 5 行 |
n | 显示搜索命令定位到的下一个字符串 |
N | 显示搜索命令定位到的上一个字符串 |
u | 撤销上一步的操作 |
p | 将之前删除(dd)或复制(yy)过的数据粘贴到光标后面 |
末行模式
命令 | 作用 |
---|---|
:s/one/two | 将当前光标所在行的第一个 one 替换成 two |
:s/one/two/g | 将当前光标所在行的所有 one 替换成 two |
:%s/one/two/g | 将全文中的所有 one 替换成 two |
:?字符串 | 在文本中从下至上搜索该字符串 |
:/字符串 | 在文本中从上至下搜索该字符串 |
:整数 | 跳转到该行 |
:set nu/nonu | 显示/不显示行号 |
查看磁盘占用空间
- df -hl:查看磁盘剩余空间。
- df -h:查看每个根路径的分区大小。
- du -sh [目录名]:返回该目录的大小。
- du -sm [文件夹]:返回该文件夹总数。
- du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)。
查看Linux信息
uname -a:查看操作系统内核信息。
cat /proc/version :查看操作系统版本信息。
cat /etc/redhat-release:查看操作系统发行版信息。
getconf LONG_BIT:查看版本说明当前CPU运行在64bit模式下.
cat /proc/cpuinfo:查看cpu相关信息,包括型号、主频、内核信息等。
查看端口占用
- lsof -i : 端口号
注:sentos默认没有装(yum install lsof)
- netstat -tunlp | grep 端口号
- -t (tcp) 仅显示tcp相关选项。
- -u (udp)仅显示udp相关选项。
- -n 拒绝显示别名,能显示数字的全部转化为数字。
- -l 仅列出在Listen(监听)的服务状态。
- -p 显示建立相关链接的程序名。
查看CPU信息
查看CPU型号
1 | cat /proc/cpuinfo | grep name | sort | uniq |
查看物理CPU数
1 | cat /proc/cpuinfo | grep "physical id" |
查看每个物理CPU的核数
1 | cat /proc/cpuinfo| grep "cpu cores"| uniq |
查看逻辑CPU数
1 | cat /proc/cpuinfo| grep "processor"| wc -l |
直接查看
1 | lscpu |
tar指令
压缩
1 | tar -czvf file1.tar.gz file2 #压缩file2文件为file1 |
解压
1 | tar -xzvf file #将file文件解压 |
各参数意思:
- -z:通过gzip指令处理备份文件。
- -v:显示指令执行过程。
- -f:指定备份文件。
- -c:建立新的备份文件。
- -x:从备份文件中还原文件。
查看进程绝对路径
1 | ps -ef |grep #获取进程pid |
查看进程内存映射
1 | pmap [参数] [进程ID ] |
Yum
Yum 软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安
装到系统。
命令 | 作用 |
---|---|
yum repolist all | 列出所有仓库 |
yum list all | 列出仓库中所有软件包 |
yum info 软件包名称 | 查看软件包信息 |
yum install 软件包名称 | 安装软件包 |
yum einstall 软件包名称 | 重新安装软件包 |
yum update 软件包名称 | 升级软件包 |
yum remove 软件包 | 移除软件包 |
yum clean all | 清除所有仓库缓存 |
yum check-update | 检查可更新的软件包 |
yum grouplist | 查看系统中已经安装的软件包组 |
yum groupinstall 软件包组 | 安装指定的软件包组 |
yum groupremove 软件包组 | 移除指定的软件包组 |
yum groupinfo 软件包组 | 查询指定的软件包组信息 |