top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令列出系统状态时,系统默认每5秒刷新一下屏幕上的显示结果。
1. 第一行是任务队列信息
12:42:45 |
当前时间 |
up 4min |
系统运行时间,格式为时:分 |
3 user |
当前登录用户数 |
load average: 0.16, 0.63, 0.35 |
系统负载。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 |
2. 第二、三行为进程和CPU的信息
Tasks: 419 total |
进程总数 |
2 running |
正在运行的进程数 |
417 sleeping |
睡眠的进程数 |
0 stopped |
停止的进程数 |
0 zombie |
僵尸进程数 |
Cpu(s): 0.3% us |
用户空间占用CPU百分比 |
1.0% sy |
内核空间占用CPU百分比 |
0.0% ni |
用户进程空间内改变过优先级的进程占用CPU百分比 |
98.7% id |
空闲CPU百分比 |
0.0% wa |
等待输入输出的CPU时间百分比 |
0.0% hi |
硬件中断占用CPU时间的百分比 |
0.0% si |
软件中断占用CPU时间的百分比 |
3. 第四五行为内存信息。
4. 进程信息
列名 |
含义 |
PID |
进程id |
PPID |
父进程id |
RUSER |
Real user name |
UID |
进程所有者的用户id |
USER |
进程所有者的用户名 |
GROUP |
进程所有者的组名 |
TTY |
启动进程的终端名。不是从终端启动的进程则显示为 ? |
PR |
优先级 |
NI |
nice值。负值表示高优先级,正值表示低优先级 |
P |
最后使用的CPU,仅在多CPU环境下有意义 |
%CPU |
上次更新到现在的CPU时间占用百分比 |
TIME |
进程使用的CPU时间总计,单位秒 |
TIME+ |
进程使用的CPU时间总计,单位1/100秒 |
%MEM |
进程使用的物理内存百分比 |
VIRT |
进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES |
SWAP |
进程使用的虚拟内存中,被换出的大小,单位kb。 |
RES |
进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
CODE |
可执行代码占用的物理内存大小,单位kb |
DATA |
可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb |
SHR |
共享内存大小,单位kb |
nFLT |
页面错误次数 |
nDRT |
最后一次写入到现在,被修改过的页面数。 |
S |
进程状态。 |
COMMAND |
命令名/命令行 |
WCHAN |
若该进程在睡眠,则显示睡眠中的系统函数名 |
Flags |
任务标志,参考 sched.h |
2、CPU利用率和负载
CPU的利用率:就是CPU执行命令所用的实际时间所占整个时间的百分比(正常情况,CPU录用率<70%)
CPU负载:单位时间内CPU完成的任务数量占CPU所需完成任务数量的百分比。(CPU负载<=1,正常情况;CPU负载>1,超负荷运转)
3、进程的三种状态
在在两种情况下会导致一个进程在逻辑上不能运行:
1. 进程挂起是自身原因,遇到I/O阻塞,便要让出CPU让其他进程去执行,这样保证CPU一直在工作
2. 与进程无关,是操作系统层面,可能会因为一个进程占用时间过多,或者优先级等原因,而调用其他的进程去使用CPU。
使用free可以查看内存的使用状态,如上图。
可看出:
物理内存总共有1003432kb,已经使用912916 kb,还可使用90516 kb。
数据共享的内存有8064 kb,已经分配但未使用的buffers有784 kb,已经分配但未使用的cached有376752kb。
已经使用的buffer和cached有535380 kb,还可使用的buffer和cached有468052 kb。
swap总计2026492kb,使用为0,还有2026492kb可用。
上述存在两个等式:
1.内存总量=已使用的内存+可使用的内存;
2.可使用的buffers和cached=可使用的内存+已经分配但未使用的cached+已经分配但未使用的buffers。
free -m以兆为单位查看内存使用状态
进程的定义:进程是程序的一次动态执行。
守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程。
父进程、子进程的定义:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程。
相关命令:
1.ps 显示有关活动进程选择的信息
2.pstree 4729 列出PID为4729的进程的进程状态树
3.ps -aux 显示所有的与用户相关的完整信息
4.kill 3852 终止PID为3852的进程
5.kill -9 3906 强制杀死PID为3906的进程
6. pkill firefox 杀死名为firefox的进程
7. pkill -9 firefox 强制杀死名为firefox的进程
8.pgrep firefox 查找名为firefox的进程
1、在Linux系统中,每个设备都被当成一个文件来对待。
2、硬盘的逻辑结构:一个硬盘逻辑上可以被划分成块、磁道、磁柱和分区。
(1)块的定义:块是盘片上寻址(访问)的最小单位,一个块可以存储一定字节的数据。
(2)磁道的定义:磁道是由一系列头尾相连的块组成的圆圈。
(3)磁柱的定义:磁柱是由一叠磁道,由在相同半径上每个盘面的磁道所组成。
(4)分区的定义:分区是由一组相邻的磁柱所组成。
3、使用fdisk和partprobe命令来管理硬盘分区
(1)fdisk命令列表中常用的命令:
d:删除一个(已经存在的)分区,其中d是delete的第1个字母。
l:列出(已经存在的)分区的类型,其中l是list的第1个字母。
m:列出fdisk中使用的所有命令,其中m是menu的第1个字母。
n:添加一个新的分区,其中n是new的第1个字母。
p:列出分区表的内容,其中p是print的第1个字母。
q:退出fdisk,但是不存储所做的变化,其中q是quit的第1个字母。
t:改变分区系统的id,其中t是title的第1个字母。
w:退出fdisk并存储所做的变化,其中w是write的第1个字母。
(2)partprobe命令的功能:重新初始化内存中内核的分区表。
4、创建文件系统(数据的管理)
(1)格式化的定义:所谓的格式化就是将分区中的硬盘空间划分成大小相等的一些数据块(Blocks),以及设定这个分区中有多少个i节点可以使用等。
(2)文件系统的定义:文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。
(3)了解常用的文件系统类型
ext2:Linux系统中标准的文件系统
ext3:一种日志式文件系统
ext4:一种针对ext3系统的扩展日志式文件系统
lvm:逻辑盘卷管理
iso9660:目前唯一通用的光盘文件系统
(4)掌握mkfs命令的功能:格式化磁盘。
(5)灵活应用常用的格式化命令:
mkfs.文件系统类型
将分区/dev/sdb1格式化为ext4文件系统的命令为:mkfs.ext4 /dev/sdb1
(6)为一个分区设定label(分区名)(详见linux系统管理P405)
(7)查看/dev/sdb1分区的label的命令为:
e2label /dev/sdb1
将/dev/sdb1分区的label设定为wg的命令:
e2label /dev/sdb1 wg
5、文件系统的挂载和卸载
(1)挂载的定义:挂载指将一个设备(通常是存储设备)挂接到一个已存在的目录上。
(2)命令:
mount /dev/sdb1 /wg 将/dev/sdb1分区挂载到/wg目录上
umount /wg 卸载/wg上的文件系统
6、虚拟内存的概念以及设置与管理
(1)虚拟内存的定义:所谓虚拟内存就是一块硬盘空间被当做内存使用,也被称为交换分区(swap)。
(2)命令:
mkswap /dev/sdb2 将分区/dev/sdb2设置为交换分区
swapon –a启动全部的交换分区。
swapon –s列出当前正在使用的所有系统交换分区的状态。
swapon /dev/sdb2 启用交换分区/dev/sdb2
7、查看私盘和目录文件
df命令的功能:显示文件系统中磁盘使用和空闲区的数量。
-a 显示所有磁盘
-h 单位转换
du命令的功能: 显示目录和文件的大小a h同上
作业一:
1)开启Linux系统前添加一块大小为15G的SCSI硬盘
2)开启系统,右击桌面,打开终端
3)为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分区,大小为5G
4)格式化主分区为ext3系统
5)将逻辑分区设置为交换分区
6)启用上一步的交换分区
7)查看交换分区的状态
作业二:
free命令查看内存
整理buffer与cache的作用
buffer是指被将输出到硬盘的数据占用
cache是指从被硬盘中读取出来的数据占用
计算真实的内存使用率
实际使用率=751420/1003432*100%=74.88%
作业三:dd命令测试硬盘速度
作业四:查找一个名为ssh的进程,并且将其强制杀死
1、CPU的利用率
CPU的负载:1分钟,5分钟,15分钟
2、内存free free -m free –w
清内存 echo 3 >/proc/sys/vm/drop_caches
3、进程 ps aux | grep ‘ssh’ ps -elf
4、硬盘
df –T:文件系统类型
df –h:人性化
df –i:iNode
mount
dd if=/dev/zero of=/a.txt bs=2G count=3
fdisk -l /dev/sda 查看硬盘分区信息
fdisk /dev/sda n:新建分区 p:主分区 e:扩张分区 w:保存分区信息
mkfs.xfs /dev/sda1 格式化分区为XFS格式 做文件系统
原文:https://www.cnblogs.com/bubu99/p/12203058.html