源码包安装Nginx ; 查看进程ps、top命令

一、源码包安装

三种:rpm、yum、源码包安装

1、源码安装nginx

  • 下载源码包

    #第一种方式
    #下载nginx包
    wget http://nginx.org/download/nginx-1.18.0.tar.gz
    #解压rpm包
    tar -xf nginx-1.18.0.tar.gz -C /opt
    #切换目录
    cd /opt/nginx-1.18.0
    # 就可以看到nginx源代码
    
    # 第二种方式:https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/
    wget https://repo.huaweicloud.com/epel/7/x86_64/Packages/n/nginx-1.16.1-3.el7.x86_64.rpm
    
  • 直接编译

    # 编译前,系统检测
    [root@www nginx-1.18.0]# ./configure
    
    # 如果出现对应的错误,则执行下面命令
    [root@www nginx-1.18.0]# yum install pcre pcre-devel -y
    [root@www nginx-1.18.0]# yum install zlib zlib-devel -y
    
    # 开始编译
    make 
    	-j : 使用多核编译
    	
    # 安装
    make install PROFIX=/usr/local
    
    # 测试
    [root@www ~]# /usr/local/nginx/sbin/nginx 
    
    # 环境变量
    
    ## 添加环境变量,制作添加环境变量
    [root@www ~]#vim /root/.bash_profile
    		/etc/profile   # 所用用户的环境变量
    		/root/.bash_profile  # 当前用户的环境变量
    NGINX_HOME=/usr/local/nginx/sbin
    PATH=$PATH:$NGINX_HOME
    export PATH
    
    #加载:source /root/.bash_profile
    
    # 源码包编译 PHP
    https://www.php.net/distributions/php-7.4.16.tar.gz
    

    二、进程

    程序:存放代码的⽂件=> 静态

    进程:程序的运⾏过程=> 动态

    1、查看进程
    # 命令:ps, 默认查看当前进程
    # 参数
    -a : 查询所有进程
    -x : 查看后台所有的进程
    -u : 查看进程的用户
    -e : 显示所有的进程
    -f : 格式化输出同时显示PPID  # 父进程ID
    
    [root@nini ~]# ps -axu
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    
    # 解释
    USER : 开启当前进程的用户
    PID  : 当前进程的ID号
    %CPU : CPU的使用率
    %MEM : 内存使用率
    VSZ  : 进程启动时默认向计算机申请的内存
    RSS  : 进程运行时实际使用的内存
    TTY  : 进程运行的终端
    	?: 后台运行(没有终端)
    	tty:使用系统终端
    	pts:使用虚拟终端
    STAT :进程运行状态
    	R : 正在运行中的进程
    	+ : 在前台运行
    	S : 睡眠中状态
    	D : 不可中断睡眠
    	T : 停止状态
    	Z :  僵尸状态
    	X : 死掉的进程
    	< : 优先级较高的进程
    	N :优先级较低的进程
    	s : 包含子进程       yum install psmisc -y 
    	l : 已线程的方式运行
    	| : 代表管道
    START : 进程的启动时间
    TIME  : 占用CPU的时间
    COMMAND : 进程执行的命令
    
    

    2、top

    根据一定频率的去监控系统,动态查看

    显示信息解释
    第⼀部分:系统整体统计信息
    up左边的代表当前的时间
    up右边代表运⾏了多⻓时间
    load average: 0.86, 0.56, 0.78 CPU 1分钟,5分钟,15分钟平均负载
    
    # Tasks: 115 total,   1 running, 114 sleeping,   0 stopped,   0 zombie
    total : 当前系统一共运行的是115个进程
    running : 正在运行的是1个
    sleeping : 114个处于睡眠状态
    stopped : 停止运行的进程数
    zombie  :僵尸进程数
    
    # %Cpu0  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si
    us :在单位时间进程使用CPU所占用的时间百分比
    sy : 在单位时间内系统进程占用CPU时间百分比
    ni : 在单位时间内优先使用CPU所占时间百分比
    id :在单位时间内CPU空闲所占时间百分比
    wa : 在单位时间内CPU阻塞态所占CPU时间的百分比
    hi : 硬件中断
    si : 软件中断
    st : 其他占用CPU时间百分比
    
    # KiB Mem :  2027892 total,   619436 free,   189136 used,  1219320 buff/
    物理内存
    total :系统总内存
    free  :系统空闲内存
    used  : 系统使用内存
    buff/cache : 缓存使用内存
    
    # KiB Swap:  1048572 total,  1048572 free,        0 used.  1671312 avail Mem
    KiB Swap: 交换区总量。虚拟内存
    avail Mem :可用交换取总量
    @ 对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
    
    #PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+
    PID : 进程编号
    USER : 启动进程的用户
    PR : 优先级
    NI :nice值
    VIRT : 虚拟内存
    RES  : 使用内存
    SHR  : 共享内存
    %CPU : cpu使用率
    %MEM :内存使用率
    
===========>什么是平均负载?
平均负载是指,单位时间内,系统处于可运⾏状态和不可中断状态的平均进程数,也就是平均活跃进程数
===========>平均负载多少合理?
假设现在在4,2,1核的CPU上,如果平均负载为2时,意味着什么呢?
------------------------------------------------
核⼼数 平均负载 含义
  4 	2 	有⼀半(50%)的CPU是空闲状态
  2 	2   CPU刚好完全被占⽤
  1 	2   ⾄少⼀半的进程是抢不到CPU
-------------------------------------------------
===========>平均负载的三个数值我们该关注哪⼀个?
三个值相当于三个样本,我们应该统筹地看
1、如果1分钟,5分钟,15分钟的负载数值相差不⼤,代表系统的负载很'稳定' 
2、如果1分钟的值,远⼩于15分钟的值,那么证明系统的平均负载逐渐降低,即我们的系统刚刚经历过⼤⻛浪,但⽬前已逐渐趋于平均。⾄于15分钟区间内,系统负载上升的原因,还需要我们认真查明
3、如果15分钟的值,远⼩于1分钟的值,那么证明系统的平均负载逐渐升⾼,有可能是临时的也有可能持续上升,需要观察
4、⼀旦1分钟的平均负载接近或超过了CPU的个数,就意味着,系统正在发⽣过载的问题,这时候就得分析问题了, 并且要想办法优化。
top快捷键
  按1 : 展示所有的CPU的详情
  按s : 设置top监控频率(默认3秒)
  按m : 按照内存排序 
  按z : 添加颜色
  按p : 按照CPU排序
  按l : 展示CPU总负载(默认显示)
top的参数
  -d : 设置top的刷新频率
  -p :  设置查看的进程PID
  	top -d 1 -p `pgrep nginx | head -1`
  -u :  查询指定用户的进程
  	top -u oldboy
  -n : 表示查询n次
  	 top -d 0.1 -u oldboy -n 20
原文地址:https://www.cnblogs.com/caodan01/p/14597807.html