Redis used_cpu_sys used_cpu_user meaning (redis info中cpu信息的含义)
Redis 中 used_cpu_sys 和 used_cpu_user含义。
在Redis的info命令输出结果中有如下四个指标,redis官网给出了下面一段解释,但是还是不明白什么意思。
used_cpu_sys: System CPU consumed by the Redis serverused_cpu_user:User CPU consumed by the Redis serverused_cpu_sys_children: System CPU consumed by the background processesused_cpu_user_children: User CPU consumed by the background processes
user_cpu_sys 和user_cpu_sys_children的区别比较明显,一个是Redis主进程消耗,一个是后台进程消耗(后台包括RDB文件的消耗,master,slave同步产生的消耗等等),但是used_cpu_sys 和used_cpu_user直接的区别就不清楚了。英文解释说明一个是System CPU一个是User CPU,那到底什么是System CPU和User CPU呢?
经过一番Google之后,我发现在Linux系统中存在一个time的命令,它用于显示一个进程所占用的 CPU 时间。
$ time php test.php
real 0m0.003s
user 0m0.000s
sys 0m0.004s
这里的real指的是进程执行的实际时间,也就是时钟走过的时间
user 指的是指令在 用户态(User Mode)所消耗的CPU时间
sys指的是指令在 核心态(Kernel Mode)所消耗的CPU时间。
Redis Info中的used_cpu_sys 和used_cpu_user也就是取的这里的两个时间。
具体 核心态(Kernel Mode)和 用户态(User Mode)有什么区别大家可以自己Google,这里也给出一篇stackoverflow.com上的回答提供大家参考:
http://stackoverflow.com/questions/556405/what-do-real-user-and-sys-mean-in-the-output-of-time1
回到Redis,经过测试,发现这4个CPU指标是一个统计指标,比如used_cpu_sys是将所有Redis主进程在 核心态 所占用的CPU时间求和累计起来,所以它会随着Redis启动的时间长度不断累计上升,并在你重启Redis服务后清0。
其次个人认为 used_cpu_sys 和 used_cpu_user的大小关系并不能说明什么问题,在几次测试之后基本都是sys高于user这说明Redis的主要命名是直接运行中系统的 核心态 环境。
刚刚接触Redis,如有不真确欢迎大家留言指正。
Redis used_cpu_sys used_cpu_user meaning (redis info中cpu信息的含义)的更多相关文章
- [转载]linux的top命令中cpu信息的含义
https://www.cnblogs.com/wjoyxt/p/4918742.html 原文很好,我就不摘录了.
- Linux top命令中CPU信息的详解(转)
add by zhj: 下面的文章解释的很好了,这里再说明一下top命令中wa的含义,我们知道,当IO阻塞时,操作系统会把进程改为阻塞态,将CPU调度到运行其它进程. CPU在空闲状态下,会检查是否有 ...
- Redis INFO CPU 信息详解
一.INFO CPU 通过INFO CPU命令可以查看Redis进程对于CPU的使用情况,如下: 这几个字段的含义如下所示: used_cpu_sys: System CPU consumed by ...
- Linux下安装redis 3.0及C语言中客户端实现demo
1.获取安装文件 wget http://download.redis.io/redis-stable.tar.gz 2.解压文件 tar xzvf redis-stable.tar.gz 3.进入目 ...
- Redis总结(二)C#中如何使用redis
上一篇讲述了安装redis<Redis总结(一)Redis安装>,同时也大致介绍了redis的优势和应用场景.本篇着重讲解.NET中如何使用redis和C#. Redis官网提供了很多开源 ...
- Redis的安装以及在项目中使用Redis的一些总结和体会
第一部分:为什么我的项目中要使用Redis 我知道有些地方没说到位,希望大神们提出来,我会吸取教训,大家共同进步! 注册时邮件激活的部分使用Redis 发送邮件时使用Redis的消息队列,减轻网站压力 ...
- redis初认知(持续更新中)
一:redis是什么? 1).redis是一个基于内存的key-value数据库(存储系统). 2).Redis 是一个高性能的key-value数据库. 3).redis的存储分为内存存储.磁盘存储 ...
- Redis总结(二)C#中如何使用redis(转载)
上一篇讲述了安装redis<Redis总结(一)Redis安装>,同时也大致介绍了redis的优势和应用场景.本篇着重讲解.NET中如何使用redis和C#. Redis官网提供了很多开源 ...
- Redis学习笔记之Redis中5种数据结构的使用场景介绍
原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码.目前目标是吃透 redis 的数据结构.我们都知道,在 redis 中一共有5种数据结构 ...
随机推荐
- 【代码审计】CmsEasy_v5.7 代码执行漏洞分析
0x00 环境准备 CmsEasy官网:http://www.cmseasy.cn/ 网站源码版本:CmsEasy_v5.7_UTF8-0208 程序源码下载: http://ftp.cmseas ...
- 【安全开发】Perl安全编码规范
多年以来,Perl已经成为用于系统管理和WebCGI开发的功能最强的编程语言之一(几乎可以使用Perl做任何功能的程序).但其扩展应用,即作为Internet上CGI的开发工具,使得它经常成为Web服 ...
- iOS开发--改变tableHeaderView的高度
1.先获取tableHeaderView 2.设置它的frame 3.将该view设置回tableview UIView *view=tableView. tableHeaderView; view. ...
- mysql相关攻击代码收集
1.批处理文件内容 @echo off net user li /add net user li /active:yes net localgroup Administrators li /add 2 ...
- Streaming 101
开宗明义!本文根据Google Beam大神Tyler Akidau的系列文章<The world beyond batch: Streaming 101>(批处理之外的流式世界)整理而成 ...
- C++ template —— 模板基础(一)
<C++ Template>对Template各个方面进行了较为深度详细的解析,故而本系列博客按书本的各章顺序编排,并只作为简单的读书笔记,详细讲解请购买原版书籍(绝对物超所值).---- ...
- 细说php的异常和错误处理机制
再谈php错误与异常处理 讲的非常好 w3school php异常处理机制 php错误异常处理详解 注: 关注set_error_handler() set_exception_handler() r ...
- 《转载》脚本实现从客户端服务端HTTP请求快速分析
本文转载自https://www.imooc.com/article/14107 首先我想介绍下,分享这个脚本的用处: 当客户告知我们,一个页面http://www.xxx.com 有问题时,作为PE ...
- JS-过滤敏感词【RegExp】
来自腾讯课堂笔记:https://ke.qq.com/webcourse/index.html#course_id=152997&term_id=100174752&taid=8010 ...
- 基于VLAN的二三层转发
[章节内容]1 MAC地址2 冲突域和广播域3 集线器.交换机.路由器 3.1 集线器 3.2 网桥和交换机 3.3 路由器4 VLAN 4.1 VLAN帧格式 4.1.1 ...