linux nice值_linux系统管理之交互式企业站点(连载)
系统优化
知识点:
(简介:系统优化其本质是系统在提供服务的同时,承受压力过大需进行参数调优)
1、查看平均负载
系统负载System Load:系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度,平均负载(Load Average):一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟[root@linux-server ~]# uptime20:42:26 up 6:12, 2 users, load average: 0.00, 0.01, 0.051分钟平均负载,5分钟平均负载,15分钟平均负载分别是0.00,0.01,0.05[root@linux-server ~]# w #查看都有哪些用户连接服务器 20:43:46 up 6:14, 1 user, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/1 192.168.246.1 20:41 2.00s 0.00s 0.00s w
2、查看CPU每隔10min的使用情况
[root@linux-server ~]# yum -y install sysstat ---安装完成之后需要等待一会[root@linux-server ~]# sar Linux 3.10.0-693.el7.x86_64 (linux-server) 11/16/2019 _x86_64_ (1 CPU)08:50:01 PM CPU %user %nice %system %iowait %steal %idle09:00:01 PM all 0.25 0.00 0.44 0.78 0.00 98.5209:10:02 PM all 0.55 0.00 0.32 0.16 0.00 98.98Average: all 0.40 0.00 0.38 0.47 0.00 98.75-A:所有报告的总和-u:输出CPU使用情况的统计信息-v:输出inode、文件和其他内核表的统计信息-d:输出每一个块设备的活动信息-r:输出内存和交换空间的统计信息-b:显示I/O和传送速率的统计信息-a:文件读写情况-c:输出进程统计信息,每秒创建的进程数-R:输出内存页面的统计信息-y:终端设备活动情况-w:输出系统交换活动信息例如,每2秒采样一次,连续采样3次,观察CPU 的使用情况[root@linux-server ~]# sar -u 2 3Linux 3.10.0-693.el7.x86_64 (linux-server) 11/16/2019 _x86_64_ (1 CPU)09:19:21 PM CPU %user %nice %system %iowait %steal %idle09:19:23 PM all 0.00 0.00 0.50 0.00 0.00 99.5009:19:25 PM all 0.00 0.00 0.00 0.00 0.00 100.0009:19:27 PM all 0.00 0.00 0.00 0.00 0.00 100.00Average: all 0.00 0.00 0.17 0.00 0.00 99.83参数详解:CPU:all 表示统计信息为所有 CPU 的平均值。%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。===================================================================================例如,每3秒采样一次,连续采样3次,观察内存和交换空间状态[root@linux-server ~]# sar -r 3 3Linux 3.10.0-693.el7.x86_64 (linux-server) 11/16/2019 _x86_64_ (1 CPU)09:20:55 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty09:20:58 PM 676148 323548 32.36 0 169548 293372 9.47 136672 91728 009:21:01 PM 676148 323548 32.36 0 169548 293372 9.47 136672 91728 009:21:04 PM 676148 323548 32.36 0 169548 293372 9.47 136676 91728 0Average: 676148 323548 32.36 0 169548 293372 9.47 136673 91728 0参数详解:输出项说明:kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.kbbuffers和kbcached:这两个值就是free命令中的buffer和cachekbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.=============================================================================
3.查看进程io使用情况
[root@linux-server ~]# iotop[root@linux-server ~]# iotop -b -n 3 -d 5--version #显示版本号 -h, --help #显示帮助信息 -o, --only #显示进程或者线程实际上正在做的I/O,而不是全部的,可以随时切换按o -b, --batch #运行在非交互式的模式 -n NUM, --iter=NUM #在非交互式模式下,设置显示的次数, -d SEC, --delay=SEC #设置显示的间隔秒数,支持非整数值 -p PID, --pid=PID #只显示指定PID的信息 -u USER, --user=USER #显示指定的用户的进程的信息 -P, --processes #只显示进程,一般为显示所有的线程 -a, --accumulated #显示从iotop启动后每个线程完成了的IO总数 -k, --kilobytes #以千字节显示 -t, --time #在每一行前添加一个当前的时间
4.查看内存使用情况
[root@linux-server ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 4 311168 1124 570008 0 0 9 28 59 58 0 0 100 0 0 r: 表示运行和等待CPU时间片的进程数(就是说多少个进程真的分配到CPU),这个值如果长期大于系统CPU个数,说明CPU 不足,需要增加CPU b:表示在等待资源的进程数。 2、memory swpd:表示切换到内存交换区的内存大小,即虚拟内存已使用的大小(单位KB),如果大于0,表示你的机器物理内存不足 了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器。 free:表示当前空闲的物理内存 buff:表示baffers cached内存大小,也就是缓冲大小,一般对块设备的读写才需要缓冲 Cache:表示page cached的内存大小,也就是缓存大小,一般作为文件系统进行缓冲,频繁访问的文件都会被缓存,如果 cache值非常大说明缓存文件比较多,如果此时io中的bi比较小,说明文件系统效率比较好 3、swap si:表示有磁盘调入内存,也就是内存进入内存交换区的内存大小;通俗的讲就是 每秒从磁盘读入虚拟内存的大小,如果这 个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。so:表示由内存进入磁盘,也就是由内存交换区进入内存的内存大小。 注意:一般情况下si、so的值都为0,如果si、so的值长期不为0,则说明系统内存不足,需要增加系统内存 4、io bi:表示由块设备读入数据的总量,即读磁盘,单位kb/s bo:表示写到块设备数据的总量,即写磁盘,单位kb/s 注意:如果bi+bo的值过大,且wa值较大,则表示系统磁盘IO瓶颈
6、释放buffffer和cache
[root@linux-server ~]# echo 3 > /proc/sys/vm/drop_caches
7、带宽使用情况
[root@linux-server ~]# yum install -y iftop.x86_64
第一行:界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间部分:中间的<= =>这两个左右箭头,表示的是流量的方向。=>代表发送,<=代表接收。TX:发送流量RX:接收流量TOTAL:总流量Cumm:运行iftop到目前时间的总流量peak:流量峰值rates:分别表示过去 2s 10s 40s 的平均流量
8.动态查看进程
[root@linux-server ~]# yum install -y htop.x86_64
各项从上至下分别说明如下:左边部分从上至下,分别为,cpu、内存、交换分区的使用情况,右边部分为:Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,10分钟的平均负载情况、Uptime为系统运行的时间。以上各项分别为:PID:进行的标识号USER:运行此进程的用户PRI:进程的优先级NI:进程的优先级别值,默认的为0,可以进行调整VIRT:进程占用的虚拟内存值RES:进程占用的物理内存值SHR:进程占用的共享内存值S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态%CPU:该进程占用的CPU使用率%MEM:该进程占用的物理内存和总内存的百分比TIME+:该进程启动后占用的总的CPU时间COMMAND:进程启动的启动命令名称#Linux htop工具使用详解 -----了解h, ? F1 查看htop使用说明S F2 htop 设定/ F3 搜索进程 F4 增量进程过滤器t F5 显示树形结构 F6 选择排序方式[ F7 可减少nice值可以提高对应进程的优先级] F8 可增加nice值,降低对应进程的优先级k F9 可对进程传递信号q F10 结束htopu 只显示一个给定的用户的过程U 取消标记所有的进程H 显示或隐藏用户线程K 显示或隐藏内核线程F 跟踪进程P 按CPU 使用排序M 按内存使用排序T 按Time+ 使用排序l 显示进程打开的文件I 倒转排序顺序s 选择某进程,按s:用strace追踪进程的系统调用
9.监控网速
[root@linux-server ~]# yum install -y nload.x86_64[root@linux-server ~]# nload
上半部分是:Incoming也就是进入网卡的流量下半部分是:Outgoing,也就是从这块网卡出去的流量, 每部分都有当前流量(Curr), 平均流量(Avg), 最小流量(Min), 最大流量(Max), 总和流量(Ttl).
10、网络接口统计报告
[root@linux-server ~]# yum install -y nethogs.x86_64[root@linux-server ~]# nethogs
实例1:设置5秒钟刷新一次,通过-d来指定刷新频率 # nethogs -d 5 实例2:监视ens33网络带宽 # nethogs ens33 实例3:同时监视eth0和eth1接口 # nethogs ens33 ens34
11、文件句柄
在linux/unix操作系统中一切皆文件,我们的设备是文件,文件是文件,文件夹也是文件。当我们用户每发起一次请求,就会产生一个文件句柄。文件句柄可以简单的理解为`文件句柄就是一个索引`。文件句柄就会随着请求量的增多,进程调用频繁增加,那么产生的文件句柄也就会越多。系统默认对文件句柄是有限制的,不可能会让一个进程无限制的调用句柄。因为系统资源是有限的,所以我们需要限制每一个服务能够使用多大的文件句柄。操作系统默认使用的文件句柄是1024个句柄。
11-1、设置方式
- 系统全局性修改
[root@nginx-server ~]# vim /etc/security/limits.conf #* soft core 0#* hard rss 10000#@student hard nproc 20#@faculty soft nproc 20#@faculty hard nproc 50#ftp hard nproc 0#@student - maxlogins 4#root只是针对root这个用户来限制,soft只是发提醒,操作系统不会强制限制,一般的站点设置为一万左右就ok了root soft nofile 65535root hard nofile 65535# *代表通配符 所有的用户* soft nofile 25535* hard nofile 25535 #hard硬控制,到达设定值后,操作系统会采取机制对当前进程进行限制,这个时候请求就会受到影响可以看到`root`和`*`,root代表是root用户,*代表的是所有用户,后面的数字就是文件句柄大小。大家可以根据个人业务来进行设置。ulimit 命令# -a 显示目前资源限制的设定。• -c 设定core文件的最大值,单位为区块。• -d 程序数据节区的最大值,单位为KB。• -f shell所能建立的最大文件,单位为区块。• -H 设定资源的硬性限制,也就是管理员所设下的限制。• -m 指定可使用内存的上限,单位为KB。# -n 指定同一时间最多可开启的文件数。• -p 指定管道缓冲区的大小,单位512字节。• -s 指定堆叠的上限,单位为KB。• -S 设定资源的弹性限制。• -t 指定CPU使用时间的上限,单位为秒。• -u 用户最多可开启的程序数目。• -v 指定可使用的虚拟内存上限,单位为KB1、ulimit -a 显示系统资源的设置core file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size (blocks, -f) unlimitedpending signals (-i) 63154max locked memory (kbytes, -l) 64max memory size (kbytes, -m) unlimitedopen files (-n) 1024pipe size (512 bytes, -p) 8POSIX message queues (bytes, -q) 819200real-time priority (-r) 0stack size (kbytes, -s) 8192cpu time (seconds, -t) unlimitedmax user processes (-u) 63154virtual memory (kbytes, -v) unlimitedfile locks (-x) unlimited2、ulimit -n 65535 #修改打开句柄数 ---临时
linux nice值_linux系统管理之交互式企业站点(连载)相关推荐
- linux HZ 值_Linux系统目录结构介绍
1 前言 windows目录结构: C:\windows D:\Program Files E:\文档\精品 F:\娱乐\动态图 linux 目录结构:一切从根开始=====& ...
- linux HZ 值_Linux的serial串口控制台
本人大多数情况都是在调试服务器大量的linux服务器,很多情况下也不没有必要专门准备KVM(keyboard, video, mouse),甚至有些机器根本就没有显示器接口.如何调试的?闲来无事,分享 ...
- 鸟哥的linux私房菜_linux磁盘与文件系统管理
8 . linux磁盘与文件系统管理 8.1认识EXT2系统 8.1.2文件系统的特性 super block : 记录此文件系统的整体信息,包括inode block的总量,使用量.剩余量.以及文件 ...
- linux 挂载硬盘_Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令...
大家好,我是可乐,一个专注原创,乐于分享的程序猿.本系列教程持续更新,可以微信搜索「 IT可乐 」第一时间阅读.回复<电子书>有我为大家特别筛选的海量免费书籍资料 通过前面两篇博客,我们介 ...
- 什么是linux系统管理指令,Linux必学的系统管理命令
本文中介绍一些实用又常用的Linux或Unix命令,这些是Linux系统管理员们平常使用的命令.本文不是什么完整列表,而是简要地列出了需要时派得上用场的命令.下面跟着学习啦小编一起来了解一下吧. Li ...
- 鸟哥的Linux私房菜(基础篇)- 第八章、Linux 磁盘与文件系统管理
第八章.Linux磁盘与文件系统管理 最近升级日期:2009/08/30 系统管理员很重要的任务之一就是管理好自己的磁盘文件系统,每个分割槽不可太大也不能太小,太大会造成磁盘容量的浪费,太小则会产生文 ...
- Linux知识点整理(五)—— Linux 磁盘与文件系统管理
一.Linux磁盘与文件系统管理 1.磁盘组成与分割 磁盘的物理组成,整颗磁盘的组成主要有: 圆形的磁盘(主要是记录数据的部分): 机械手臂,与在机械手臂上的磁盘读取头(可读写磁盘盘上的数据): 主轴 ...
- Linux常见命令:与系统管理有关的命令(转)
Linux常见命令:与系统管理有关的命令(转) wall命令 这个命令的功能是对全部已登录的用户发送信息,用户可以先把要发送的信息写好存入一个文件中,然后输入: # wall < 文件名 这样就 ...
- Linux 磁盘与文件系统管理(鸟哥私房菜)
本文来自:http://vbird.dic.ksu.edu.tw/linux_basic/0230filesystem.php 第八章.Linux 磁盘与文件系统管理 系统管理员很重要的任务之一就 ...
最新文章
- Spring Cloud Stream Binder 实现
- .net mvc actionresult 返回字符串_072-SpringMVC后端控制器接收参数、处理器方法返回值类型、拦截器、文件上传下载...
- python 多进程中锁的使用方法
- Kafka Connect在MapR上
- 白话经典算法系列之中的一个 冒泡排序的三种实现
- js将object转化为json数据,json数据转js对象
- 项目杂-备注-说明-其他
- Python 和 egg 文件
- GitHub 在热门 Node.js changelog 开源库Standard Version中发现 RCE 漏洞
- flutter 打开后闪退_vscode 扩展 pubspec 依赖快速打开文档
- 一线互联网公司Java高级面试总结
- 基于动态代理 Mock dubbo 服务的实现方案
- c语言做的计算器小程序,c语言实现计算器小程序
- 滑块验证码的解决方法
- 河南漯河警方承认交警代司机交罚款有错-罚款-交警罚款
- android 监控行为,一种针对Android系统App行为的监控方法
- 199 c 通过函数名字符串调用函数
- WebGIS期末复习
- 二进制与十进制互相转换的计算方法(个人向)
- 久视伤血,久卧伤气,久坐伤肉,久立伤骨,久行伤筋