linux

 一、linux简介

1、linux内核是开源的,linux服务器,一般都不会用图形界面系统,都是用命令来操作

2、linux的发行家族

  2.1 debain 家族,图形界面系统

    2.1.1 类型有debain、Ubuntu、deepin、中标、麒麟、UOS…..

    2.1.2 安装包、安装命令:

       2.1.2.1 安装包: xx.deb, xx.tar.gz

       2.1.2.2 安装命令:dpkg -i xxxx.deb;apt install xxxpackage_name;通用的安装tar.gz:进入解压后的文件夹,./configure,make && make install

  2.2 fedora 家族

    2.2.1 类型有:fedora、redhat(商业版)、centos7

    2.2.2 安装包、安装命令:

      2.2.2.1 安装包: xx.rpm,xxx.tar.gz

      2.2.2.2 安装命令:rpm -ivh xxx.rpm yum install xxx.rpm;yum install xxxpackage_name(推荐,这种方式会自动安装依赖(gcc));通用的安装tar.gz:进入解压后的文件夹,./configure,make && make install

  2.3 suse 家族

    2.3.1 suse、openSUSE —-专门为企业服务器定制、稳定,技术不是最新

 

3、linux文件目录:tree -L 1 /  查询一级目录

├── bin -> usr/bin  下面存放的是 系统可以直接执行的命令
├── boot
├── dev
├── etc 系统的配置文件,一些系统命令安装的软件的配置文件
├── home 普通用户的根路径(家目录)  user名为test 默认情况下它的根路径为/home/test/
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt  给主机额外安装的软件目录
├── proc  内存文件,是系统启动和进程启动时,加载到内存中的信息存放文件
  内存文件的特点:1、 一断电就丢失; 2、速度快(比CPU慢,比磁盘要 快);3、数据是会变化
├── root root用户,超管用户的根路径 ├── run ├── sbin -> usr/sbin ├── srv ├── sys ├── tmp ├── usr
/var 存放日志、软件数据

 

4、文件权限

  4.1 查看命令:ls -lth

  4.2 第一列存在d\l\-: d代表文件夹,l代表链接文件,-代表文件

 

  4.3 drwxr-xr-x:rwx: 三个一组 UGO U–代表归属用户User的权限;G–归属用户组Group权限;O–其他Other用户权限  r读w写x执行->数字代表4-2-1

  4.4 一个文件的权限 755 7=4+2+1(rwx) 5=4+1(r-x)

  4.5 赋权的命令: chmod +x xxxc chmod 542 xxxd r-xr—w

  4.6 我们在jmeter用linux做分布式赋权: 因为我们用Windows的jmeter拷贝到linux系统 中,发现bin文件夹下的文件,没有执行权限 所以执行命令chmod +x * 赋权

 

5、帮助

  5.1 command –help 这个帮助 够用, 一般情况下命令都会有这个帮助信息

  5.2 info command 这种帮助 比较详细, 但是不一定有

  5.3 man command 帮助就非常详细,但是不一定有

 

二、性能分析命令

1、top:可以观察到我们进程、线程的当前资源使用情况

  1.1 输入top命令后,可以按H键:显示线程

    1.1.1 Threads 线程

    1.1.2 Tasks 任务进程

        1.1.2.1 进程是资源拥有者,一个服务软件任务要能正常运行,需要有资源

        1.1.2.2 线程,进程的执行者, 任何一个进程,至少有1个线程

  1.2 load average: 系统平均负载、1分钟、5分钟、15分钟

    1.2.1 如果第1个值很高,则表示系统的压力比较大,系统非常繁忙。

      1.2.1.1 高的标准

取决于两大块: CPU使用率高 + 系统io使用率高
系统平均负载 = cpu平均负载(使用率) + io平均负载(使用率)
系统io: 是系统的换入换出(磁盘的读写 + 外设的换入换出+系统内部数据换入换出)
系统平均负载高,一般说法是,当我们的loadaverage的数值>=CPU数量*80%

    1.2.2 查看cpu的数量, 快捷键按1

    1.2.3 过去1分钟,是说,从现在这个时间点,往历史时间方向1分钟内的系统平均负载

    1.2.4 过去1分钟数值很大,过去5分钟数值比较小,说明,我们系统在最近一分 钟系统的负载在持续升高,可能还会继续升高。

    1.2.5 过去1分钟数值很小,过去5分钟数值比较大,说明,现在我们系统的压力正在被释放,系统正在慢慢恢复正常。

  1.3 

%Cpu(s): 所有cpu的使用情况
0.0 us, CPU的用户态使用率,就是说我们占用CPU用户态进行计算的时间,占CPU总的时间中的比例。
0.0 sy, CPU的用户态系统率,就是说我们占用CPU系统态进行计算的时间,占CPU总的时间中的比例。
0.0 ni, 进程优先级切换的时间占比
100.0 id, idolt空闲
0.0 wa, wait等待,cpu等待资源的时间占比
0.0 hi, hardware-irq硬中断
0.0 si, software-irq软中断
0.0 st 管理占用的时间
整体的或单个cpu的使用率,最大值100,这一整行的总和最大100 进程列表中%CPU,某一个进程的数值,是可以超过100,超过100,说明这个进程,使用了超过1个核的cpu


  1.4 

内存信息,默认单位KB, 大写字母E
total总共有多少内存
free 空闲内存
used 已经被用了
buff/cache:缓存
buff 缓冲区
cache 缓存
Swap 交换分区 用于临时存放内存中的数据
avail Mem 可用的内存,包括物理内存可用内存和交换分区可用用内容
按小写字母e,切换进程列表中内存相关数据的单位

  1.5 

PID 进程
PR 优先级
NI 优先级值,负数为高优先级
VIRT: 虚拟内存大小 ---是由磁盘虚拟出来的一个内存空间,用来存放物理内存中,各种数据的位置的
RES: 真实内存大小 -----物理内存空间大小(从内存条中申请了多少内存)
SHR: 共享内存大小
S 进程状态 S休眠的进程 R正在运行的进程 T 停止 Z僵尸进程
%CPU 这个进程占用整体多少的cpu %MEM 占用了百分之多少的CPU

  1.6 快捷键

h 获取帮助
n+数字 ----可以切换 我们要看的进程数量
sd+数字 ----改变数据刷新频率
top -H -p 进程id 显示进程下的所有线程

  1.7 快捷键f可以查看top命令的其他列数据

参数 用意 中文
PID Process Id 进程id
USER Effective User Name 用户名
PR Priority 优先级
NI Nice Value 优先级值,负高
VIRT Virtual Image (KiB) 进程使用的虚拟内存量
RES Resident Size (KiB) 使用、未被换出的内存大小
SHR Shared Memory (KiB) 共享内存大小
S Process Status 进程状态,D不可中断 R运行 S睡眠 T跟踪/停止 Z僵尸
%CPU CPU Usage cpu使用率
%MEM Memory Usage (RES) 内存使用率
TIME+ CPU Time, hundredths 进程使用cpu时间,1/100秒
COMMAND Command Name/Line 命令名/行
PPID Parent Process pid 父进程id
UID Effective User Id 进程所有者的用户id
RUID Real User Id 进程真实的用户id
RUSER Real User Name 真实用户
SUID Saved User Id 保存到用户id
SUSER Saved User Name 保存到用户名
GID Group Id 进程所有者的组id
GROUP Group Name 进程所有者的组名
PGRP Process Group Id 进程所有者组id
TTY Controlling Tty 启动进程的终端名
TPGID Tty Process Grp Id tty流程组id
SID Session Id 会话id
nTH Number of Threads 线程号
P Last Used Cpu (SMP) 最后使用的cpu
TIME CPU Time 进程使用cpu时间,秒
SWAP Swapped Size (KiB) 交换区大小
CODE Code Size (KiB) 代码占用内存大小
DATA Data+Stack (KiB) 数据+栈大小
nMaj Major Page Faults 主要页面错误
nMin Minor Page Faults 最小页面错误
nDRT Dirty Pages Count 被修改第页面数
WCHAN Sleeping in Function 睡眠中的函数名
Flags Task Flags <sched.h> 任务标记
CGROUPS Control Groups 控制组名
SUPGIDS Supp Groups IDs 支持组id
SUPGRPS Supp Groups Names 支持组名称
TGID Thread Group Id 线程组id
OOMa OOMEM Adjustment 内存调整
OOMs OOMEM Score current 内存当前评分
ENVIRON Environment vars 环境变量
vMj Major Faults delta 最主要 错误
vMn Minor Faults delta 最小错误
USED Res+Swap Size (KiB) 真实内存使用
nsIPC IPC namespace Inode IPC命名空间
nsMNT MNT namespace Inode MNT命名空间
nsNET NET namespace Inode NET命名空间
nsPID PID namespace Inode PID命名空间
nsUSER USER namespace Inode USER命名空间
nsUTS UTS namespace Inode UTS命名空间
LXC LXC container name LXC控制器名
RSan RES Anonymous (KiB) 匿名内存大小
RSfd RES File-based (KiB) 基础文件内存大小
RSlk RES Locked (KiB) 内存锁大小
RSsh RES Shared (KiB) 共享内存大小
CGNAME Control Group name 控制组名

  

 

版权声明:本文为半生漂浮~原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hailangboke/p/16299556.html