cpu参数

nginx 性能优化

瘦欲@ 提交于 2020-02-06 16:39:11
nginx 性能优化 1,Nginx运行的工作进程 Nginx运行工作进程个数一般设置为CPU的核心数,或者核心数*2.我们可以使用 lscpu 或者 cat /proc/cpuinfo 来查看cpu的核心数 2,Nginx运行CPU亲和性 配置如下 2核配置 worker_processes 2; worker_cpu_affinity 01 10; 4核配置: worker_processes 4; worker_cpu_affinity 0001 0010 0100 1000; 8核: worker_processes 8; worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; worker_processes最多开启8个,8个以上性能就不会在提升了,而且容易出问题。 3,Nginx最大打开文件数 worker_rlimit_nofile 65535; 但是我们一般不会这样设置,我们会更改系统文件句柄(最大打开数) 文件资源限制的配置可以在/etc/security/limits.conf设置,针对root/user等各个用户或者*代表所有用户来设置 * soft nofile 65535 * hard nofile 65535 4,Nginx

Fetch Cpu Info

亡梦爱人 提交于 2020-02-06 12:39:44
#include <QCoreApplication> #include <QStringList> #include <QString> #include <qdebug.h> #include <QNetworkInterface> #ifdef __GNUC__ #include <cpuid.h> #elif defined(_MSC_VER) #if _MSC_VER >= 1400 #include <intrin.h> #endif #else #error Only supports MSVC or GCC #endif QStringList get_mac(); void getcpuid(unsigned int CPUInfo[4], unsigned int InfoType); void getcpuidex(unsigned int CPUInfo[4], unsigned int InfoType, unsigned int ECXValue); QString get_cpuId(); int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); //测试cpu_id QString cpu_id = ""; cpu_id = get_cpuId(); qDebug() <<

linux指令-top

和自甴很熟 提交于 2020-02-06 03:31:21
显示当前系统正在执行的进程的 ID、内存占用率、CPU 占用率等相关信息 常用参数: -c 显示完整的进程命令 -s 保密模式 -p <进程号> 指定进程显示 -n <次数>循环显示次数 实例: top - 00:05:02 up 204 days, 9:56, 2 users, load average: 0.00, 0.01, 0.05 Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.7 us, 0.7 sy, 0.0 ni, 98.3 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1016168 total, 65948 free, 335736 used, 614484 buff/cache KiB Swap: 0 total, 0 free, 0 used. 517700 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7110 root 10 -10 130476 9416 6116 S 1.3 0.9 141:26.59 AliYunDun 15845 root 20 0 47064 4320 2180 S 0.3 0.4 2:51.16 nginx

性能检测工具介绍-Linux系统命令行

ぐ巨炮叔叔 提交于 2020-02-05 07:01:38
本文介绍的关于Linux自带命令进行性能检测的介绍,详细介绍这些linux自带的工具的使用。 一、uptime uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。 load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。 可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高,如果不是这个问题更可能出现在你的网络上。 二、top Top命令显示了实际CPU使用情况,默认情况下

Linux常用性能检测命令

故事扮演 提交于 2020-02-05 06:57:37
Linux常用性能检测命令、uptime、top、iostat、Vmstat、pstree、Numastat、sar、free、Pmap、Strace、ulimit 一、uptime Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。 UP kernel下的load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。 你可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高

TypeError: type str doesn't define __round__ method

℡╲_俬逩灬. 提交于 2020-02-05 03:49:02
一开始把我给唬住了,后来发现是基础问题, 最终结果如下: #!/usr/bin/env python3 # -*- coding:utf-8 -*- import subprocess def collect(): filter_keys = ['Manufacturer', 'Serial Number', 'Product Name', 'UUID', 'Wake-up Type'] raw_data = {} for key in filter_keys: try: res = subprocess.Popen("sudo dmidecode -t system|grep '%s'" % key, stdout=subprocess.PIPE, shell=True) result = res.stdout.read().decode() data_list = result.split(':') if len(data_list) > 1: raw_data[key] = data_list[1].strip() else: raw_data[key] = '' except Exception as e: print(e) raw_data[key] = '' data = dict() data['asset_type'] = 'server' data[

Linux Top命令详解

喜欢而已 提交于 2020-02-05 01:47:32
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 第一行,任务队列信息 同 uptime 命令的执行结果 系统时间:07:27:05 运行时间:up 1:57 min, 当前登录用户: 3 user 负载均衡(uptime) load average: 0.00, 0.00, 0.00 average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。 load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了 第二行,Tasks — 任务(进程) 总进程:150 total, 运行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie 第三行,cpu状态信息 0.0%us【user space】— 用户空间占用CPU的百分比。 0.3%sy【sysctl】— 内核空间占用CPU的百分比。 0.0%ni【】— 改变过优先级的进程占用CPU的百分比 99.7%id【idolt】— 空闲CPU百分比 0.0%wa【wait】— IO等待占用CPU的百分比 0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比 0.0%si

Linux驱动面试题

时间秒杀一切 提交于 2020-02-05 01:14:24
Linux驱动面试题 1、 Linux设备中字符设备与块设备有什么主要的区别?请分别列举一些实际的设备说出它们是属于哪一类设备。 字符设备:字符设备是个能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少实现open,close,read和write系统调用。字符终端、串口、鼠标、键盘、摄像头、声卡和显卡等就是典型的字符设备。 块设备:和字符设备类似,块设备也是通过/dev目录下的文件系统节点来访问。块设备上能够容纳文件系统,如:u盘,SD卡,磁盘等。 字符设备和块设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些不同对用户来讲是透明的。在内核中,和字符驱动程序相比,块驱动程序具有完全不同的接口。 2、查看驱动模块中打印信息应该使用什么命令?如何查看内核中已有的字符设备的信息?如何查看正在使用的有哪些中断号? 查看驱动模块中打印信息的命令:dmesg 查看字符设备信息可以用lsmod 和modprobe,lsmod可以查看模块的依赖关系,modprobe在加载模块时会加载其他依赖的模块。 显示当前使用的中断号cat /proc/interrupt 3、Linux中引入模块机制有什么好处? 首先,模块是预先注册自己以便服务于将来的某个请求,然后他的初始化函数就立即结束。换句话说

oracle监控参数

老子叫甜甜 提交于 2020-02-04 12:25:53
Sar –u 检查CPU的繁忙程度 列 说明 Usr 用户模式下cpu运行所占的百分比 Sys 系统模式下cpu运行所占的百分比 Wio 因为有进程等待块I/O而使cpu处于闲置状态所占百分比 Idle Cpu为闲置状态所占百分比 sar –u 10 8 第一个数字展示二次相邻的sar读取之间隔了多少秒,第二数字是打算好了让sar运行的次数。 较低的idel时间可能说明有些进程正消耗大量的cpu时间,或是说明cpu的处理能力不足。请使用ps或是top命令去找出cpu密集型的作业吧 写得很差,需要大量磁盘访问的查询,同样能够消耗大量的cpu资源 值得关注wio返回的高额数值与cpu的沉重负荷 展示的高额wio,即io等待时间,表明有磁盘争用的问题。可以用iostate命令来准确定位磁盘争用究竟发生在哪里 需要检查输出结果 较低的cpu空闲时间值 高比例的io等待时间 或是用wio>10来判断 Sys>15的瓶颈,这表明交换,调页或备份可能造成了瓶颈 异常高的usr 这可能是由于没有好好的给应用程序调过优,或是由于过度使用了cpu Sar –d命令找出i 大专栏 oracle监控参数 o问题 需要注意 Busy大于50%的设备 如果avwait大于avserv 不均衡的磁盘io负载 Busy和avque取值高表明存在着磁盘io瓶颈。 Sar –d 5 2

Android功耗统计算法

陌路散爱 提交于 2020-02-02 19:12:07
基于Android 6.0的源码剖析。 Power_profile.xml文件demo: <?xml version="1.0" encoding="utf-8"?> <!-- ** ** Copyright 2009, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License") ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See