cpu时间

Linux性能调优的优化思路

空扰寡人 提交于 2020-02-25 16:03:37
Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的有apache、tomcat、nginx、mysql、php等等,开源软件的最大理念就是自由、开放,那么Linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以低廉的成本,达到应用最有的性能。因此,谈到性能问题,主要实现的是Linux系统和应用程序的最佳结合。 博文大纲: 一、性能问题综述 二、影响Linux性能的因素 三、分析系统性能设计的人员 四、调优总结 一、性能问题综述 系统的性能是指操作系统完成任务的有效性、稳定性和响应速度。Linux系统管理员会经常遇到系统不稳定、响应速度慢等问题,例如在Linux上搭建了一个web服务,经常会出现网页打不开、打开速度慢等现象,而遇到这些问题,就会有人抱怨Linux系统不好,其实这些都是表面现象。操作系统完成一个任务时,与系统自身设置、网络拓补结构、路由设备、路由策略、接入设备、物理线路等多个方面都紧密相关,任何一个环节出现问题,都会影响整个系统的性能。因此当Linux应用出现问题是,应当从应用程序、操作系统、服务器硬件、网络环境等方面综合排查,定位问题出现在那个部分,然后集中解决。 在应用程序、操作系统、服务器硬件、网络环境等方面。影响性能最大的是应用程序和操作系统两个方面,因为这两个方面出现的问题不易察觉

查看linux系统版本信息(Oracle Linux、Centos Linux、Redhat Linux、Debian、Ubuntu)

守給你的承諾、 提交于 2020-02-25 00:37:03
# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况网络 # ifconfig # 查看所有网络接口的属性 # iptables

Redis 之持久化

♀尐吖头ヾ 提交于 2020-02-24 14:27:29
目录 一.前言 二.持久化类型之 RDB 三.持节化类型之AOF 四.Redis 持久化类型的抉择 五.持久化的恢复 六.持久化问题的分析定位与优化 七.回顾总结 一.前言 首先,来回顾下前面文章的知识.Redis的特性之一就是读取速度快,因为它的数据是存储在内存中的,但是这样还有它的不足之处,那就是当你服务器断电时或者进程产生进退后,那么你所存储在内存中的数据也就荡然无存了,可是这样会给我们带来丢失数据的危险.而Redis正是考虑到了这一点,所以便有了持久化的功能.而持久化的作用正像它的名称一样,便是为了保持数据的持久. Redis的持久化类型有两种,一种是全量(RDB),一种是增量(AOF),今天这篇文章中便来聊聊这两种类型的特性和他们的优缺点,以及我们在这两种类型中如何做选择. 二.持久化类型之 RDB 1.什么事RDB? RDB是把Redis中的完整的数据生成一个快照,然后保存到硬盘当中,那么这就是一个RDB文件了,不过这个RDB文件是一个二进制的文件.当你的Redis服务重启时,它会去载入这样的RDB文件.其作用便是为了备份数据和恢复数据,当然它也是一个复制的媒介,对于Redis的主从复制正式利用这个文件来完成的. 2.触发机制 RDB的触发方式有两种,分别是:save(同步)和bgsave(异步).因为save的触发方式是同步的,那么它会阻塞当前的Redis服务器

第 10 章 python进程与多进程

那年仲夏 提交于 2020-02-24 13:37:07
一、背景知识 顾明思义,进程即正在执行的一个过程,进程是对正在云的程序的一个抽象。 进程的概念起源与操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一,操作系统的其他所有内容都是围绕进程的概念展开的。 ps:即使可以利用的cpu只有一个(早期的计算机确实如此),也能保证支持(伪)并发的能力,将一个单独的cpu变成多个虚拟的cpu(多道技术:时间多路复用和空间多路复用+硬件上支持隔离),没有进程的抽象,现代计算机将不复存在。 必备的理论基础: 1 #一 操作系统的作用: 2 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 3 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序 4 5 #二 多道技术: 6 1.产生背景:针对单核,实现并发 7 ps: 8 现在的主机一般是多核,那么每个核都会利用多道技术 9 有4个cpu,运行于cpu1的某个程序遇到io阻塞,会等到io结束再重新调度,会被调度到4个 10 cpu中的任意一个,具体由操作系统调度算法决定。 11 12 2.空间上的复用:如内存中同时有多道程序 13 3.时间上的复用:复用一个cpu的时间片 14 强调:遇到io切,占用cpu时间过长也切,核心在于切之前将进程的状态保存下来,这样 15 才能保证下次切换回来时,能基于上次切走的位置继续运行 二、python并发编程之进程 1、进程

可见性、原子性和有序性问题

时光怂恿深爱的人放手 提交于 2020-02-24 10:45:34
可见性、原子性和有序性问题 并发编程背景 核心矛盾 这些年,我们的 CPU、内存、I/O 设备都在不断迭代,不断朝着更快的方向努力。但是,在这个快速发展的过程中,有一个 核心矛盾一直存在,就是这三者的速度差异 。 我形象的描述了一下这三者的速度上的差异:所谓天上一天地上一年(爱因斯坦的相对论是有合理解释的),CPU和内存之间的速度差异就是CPU天上一天,内存地上一年(假设 CPU 执行一条普通指令需要一天,那么 CPU 读写内存得等待一年的时间)。内存和I/O设备的速度差异就更大了,内存是天上一天,I/O设备是地上十年。 木桶原理 一只水桶能装多少水取决于它最短的那块木块 程序的大部分语句都要访问内存,有些还要访问I/O,根据木桶原理,程序整体的性能取决于最慢的操作,所以只是单方面的提高CPU的性能是无效的,才出现了一些提高CPU性能使用率的优化 如何提高CPU的性能? CPU增加了缓存,以均衡与内存的速度差异(计算机体系结构方面优化) 操作系统增加了进程、线程,以分时复用CPU,进而均衡CPU与I/O设备的速度差异(操作系统方面优化) 编译程序优化指令执行次序,使得缓存能够得到更加合理地利用(编译程序带来的优化) 很多时候人们总是会很开心享受眼前的好处,却总是忽略了一句话:采用一项技术的同时,一定会产生一个新的问题,并发程序很多的诡异问题的根源也从这里开始 可见性 单核时期

Linux服务器性能评估

随声附和 提交于 2020-02-24 09:57:58
一、影响 Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘 I/O带宽 网络 I/O带宽 2. 程序应用级 二、系统性能评估标准 影响性能因素 影响性能因素 评判标准 好 坏 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90% 内存 Swap In(si)=0Swap Out(so)=0 Per CPU with 10 page/s More Swap In & Swap Out 磁盘 iowait % < 20% iowait % =35% iowait % >= 50% 其中: %user:表示CPU处在用户模式下的时间百分比。 %sys:表示CPU处在系统模式下的时间百分比。 %iowait:表示CPU等待输入输出完成时间的百分比。 swap in:即si,表示虚拟内存的页导入,即从SWAP DISK交换到RAM swap out:即so,表示虚拟内存的页导出,即从RAM交换到SWAP DISK。 三、系统性能分析工具 1.常用系统命令 Vmstat、sar、iostat、netstat、free、ps、top等 2.常用组合方式 • 用vmstat、sar、iostat检测是否是CPU瓶颈 • 用free、vmstat检测是否是内存瓶颈 • 用iostat检测是否是磁盘I/O瓶颈 •

CPU load过高排查及应对

一个人想着一个人 提交于 2020-02-22 15:05:16
CPU load介绍 load是通过top命令查看的,是最近1分钟、5分钟和15分钟的系统平均负载。 那何为系统平均负载?正常范围又多少呢? 系统平均负载:是一段时间内(对应上面1、5、15)准备好运行和运行中的进程合计。 正常范围:load的正常范围是小于或等于CPU核数,也就是说每个机子都是可能是不一样的。 CUP核数查询: cat /proc/cpuinfo| grep "cpu cores"| uniq CPU load过高排查 通过命令 ps ux 找到cpu占用率过高的进程。 查看对应java进程的每个线程的CPU占用率。通过命令: ps -Lp pid(进程id) cu 追踪线程内部,查看load过高原因。通过命令: jstack lwp (线程id)。 将进程id转为16进制,找出对应线程。 到这里为止如果是想排查Java线程的问题就够了。一般导致CPU load升高的原因是 full GC 次数的增大和死循环。 但是实际场景中,还有其他原因可能造成CPU load 升高,比如:数据库、OS层面的问题等。 来源: CSDN 作者: u010684008 链接: https://blog.csdn.net/u010684008/article/details/104441586

[转载] web.config 配置详解

烂漫一生 提交于 2020-02-21 06:31:53
(一). Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息. 3.配置节设置 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部. (二). 配置节的每一节 1.<configuration>节 根元素,其它节都是在它的内部. 2.<appSetting>节 此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置 用法: I. <appSettings> <add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/> <appSettings> 定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码. II. <appSettings> <add key="ErrPage" value="Error.aspx"/>

web.config配置详细说明

柔情痞子 提交于 2020-02-21 05:46:03
(一). Web.Config是以XML文件规范存储,配置文件分为以下格式 1.配置节处理程序声明 特点:位于配置文件的顶部,包含在<configSections>标志中。 2.特定应用程序配置 特点: 位于<appSetting>中。可以定义应用程序的全局常量设置等信息. 3.配置节设置 特点: 位于<system.Web>节中,控制Asp.net运行时的行为. 4.配置节组 特点: 用<sectionGroup>标记,可以自定义分组,可以放到<configSections>内部或其它<sectionGroup>标记的内部. (二). 配置节的每一节 1.<configuration>节 根元素,其它节都是在它的内部. 2.<appSetting>节 此节用于定义应用程序设置项。对一些不确定设置,还可以让用户根据自己实际情况自己设置 用法: I. <appSettings> <add key="Conntction" value="server=192.168.85.66;userid=sa;password=;database=Info;"/> <appSettings> 定义了一个连接字符串常量,并且在实际应用时可以修改连接字符串,不用修改程式代码. II. <appSettings> <add key="ErrPage" value="Error.aspx"/>

存储管理(4)

六月ゝ 毕业季﹏ 提交于 2020-02-21 05:43:37
存储管理 存储管理的主要模式 逻辑地址 逻辑地址:又称相对地址,即用户编程所使用的地址空间 逻辑地址从0开始编号,有两种形式: 一维逻辑地址(地址) 二维逻辑地址(段号:段内地址) 段式程序设计 把一个程序设计成多个段 代码段、数据段、堆栈段等等 用户可以自己应用 段覆盖技术 扩充内存空间使用量 这一技术是程序设计技术,不是OS存储管理的功能 物理地址 物理地址:又称绝对地址,即程序执行所使用的地址空间 处理器执行指令时按照物理地址进行 主存储器的复用 多道程序设计需要复用主存 按照分区复用: 主存划分为多个固定/可变尺寸的分区 一个程序/程序段占用一个分区 按照页架复用: 主存划分为多个固定大小的页架 一个程序/程序段占用多个页架 存储管理的基本模式 单连续存储管理:一维逻辑地址空间的程序占用一个主存固定分区或可变分区 段式存储管理:段式二维逻辑地址空间的程序占用多个主存可变分区 页式存储管理:一维逻辑地址空间的程序占用多个主存页架区 段页式存储管理:段式二维逻辑地址空间的程序占用多个主存页架区 存储管理的功能 地址转换 地址转换:又称重定位,即把逻辑地址转换成绝对地址 静态重定位:在程序装入内存时进行地址转换 由装入程序执行,早期小型OS使用 动态重定位:在CPU执行程序时进行地址转换 从效率出发,依赖硬件地址转换机构 主存储器空间的分配与去配 分配:进程装入主存时