![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
切尔诺贝尔
学海无涯.....做了程序员之后有深刻的体会....
展开
-
linux性能-06 内存中的buffer和cache
文章目录buffer 和 cacheswap内存占用问题解决思路buffer 和 cachebuffer:Buffers 是对原始磁盘块的临时存储,也就是用来缓存磁盘的数据,通常不会特别大(20MB 左右)。这样,内核就可以把分散的写集中起来,统一优化磁盘的写入,比如可以把多次小的写合并成单次大的写等等。cache:是从磁盘读取文件的页缓存,也就是用来缓存从文件读取的数据。这样,下次访问这些文件数据时,就可以直接从内存中快速获取,而不需要再次访问缓慢的磁盘。SReclaimable 是 Slab原创 2020-06-13 17:35:40 · 231 阅读 · 0 评论 -
linux性能-05-linux软中断基础 and 软中断使用率升高处理方法
文章目录中断基础软中断软中断案例分析中断基础中断的定义:中断是系统用来响应硬件设备请求的一种机制,他会打断进程的正常调度和执行,然后调用内核中的终端处理程序来响应设备的请求中断生活示例: 就像你定外卖,如果一直在楼下等外卖小哥,那你就其他啥事做不了。但是如果你和小哥说好了,等他到了你打电话给你。那在他来之前你就可以做其他时间了中断特性:中断时间要短,避免影响正常进程运行调度的影响外卖为例:如果点了两个外卖,第一个外卖打电话给你打了十分钟,那第二个外卖就只能在那一直等了软中断lin原创 2020-06-13 17:34:44 · 271 阅读 · 0 评论 -
linux性能-04 出现大量中断进程和僵尸进程
文章目录基础知识系统中进程运行状态僵尸进程不可中断进程和僵尸进程的简单定义问题解决思路遇到iowait不断增高,并且cpu占用过高的情况解决 思路僵尸进程问题解决ps 关于iO增高基础知识系统中进程运行状态R 是 Running 或 Runnable 的缩写,表示进程在 CPU 的就绪队列中,正在运行或者正在等待运行。D 是 Disk Sleep 的缩写,也就是不可中断状态睡眠(Uninterruptible Sleep),一般表示进程正在跟硬件交互,并且交互过程不允许被其他进程或中断打断。Z 是原创 2020-06-05 23:13:32 · 290 阅读 · 0 评论 -
Linux性能-03 cpu使用率过高
文章目录cpu使用率过高解决思路cpu使用率过高解决思路先用top或者pidstat找到高占用的进程,然后解决如果发现没有高占用的进程,那就观察top,看总的runing状态进程和下面展示的runing数量有没有区别如果有区别,对runing的几个进程进行pidstat分析如果发现显示为空,那很有可能就是进程不停的挂掉然后重启pstree 用这个命令找到那几个一直重启的进程的父进程,记录性能事件,查看数据# 记录性能事件,等待大约15秒后按 Ctrl+C 退出$ perf recor原创 2020-06-05 23:11:09 · 146 阅读 · 0 评论 -
linux性能-02 怎么理解cpu上下文切换?
文章目录基础知识cpu上下文切换进程上下文切换线程上下文切换中断上下文切换分析系统上下文切换的情况查看系统上下文切换情况查看单个进程的上下文切换状态如果发现vmstat 的 cs 和 pidstata的 cswch 数据对不上基础知识每个进程执行前,cpu需要知道任务从哪里开始加载,又从哪里开始运行,也就是说需要系统需要帮他保存这俩个值(cpu寄存器 and 程序计数器)cpu 寄存器: cpu内置的容量小,但是速度极快的内存程序寄存器: 用来存储cpu正在执行的指令地址,或者下一条指令位置由原创 2020-05-25 13:11:26 · 252 阅读 · 0 评论 -
linux性能-01 对于系统平均负载的理解
文章目录1-平均负载What is load average ?理解平均负载和cpu使用率之间的区别平均负载到了多少要开始警惕?如果遇到平均负载过高的情况,我们要怎么处理?1-平均负载当发现机器cpu告警或者网络IO告警的时候,一般情况下会用uptime(也可以htop)16:05:16 up 172 days, 15:29, 1 user, load average: 0.11, 0.27, 0.371 user : 当前有多少用户d0.11, 0.27, 0.37 : 分别是最近1,原创 2020-05-24 16:44:49 · 180 阅读 · 0 评论 -
nginx-post请求被301到get请求,且丢失请求数据,nginx 配置末尾是否携带斜杠
nginx-post请求被301到get请求,且丢失请求数据问题如下当nginx配置里location有最后一个斜杠如果并且访问url不带/,nginx会自动进行301跳转到带斜杠的url当nginx配置里location没有最后一个斜杠url最后不加/,则是正常访问url加了,则post请求会被重定向为get请求(如果目标路由有同时监听/test/和/test,则不...原创 2019-11-08 09:55:30 · 4758 阅读 · 0 评论 -
nginx( x-accel-redirect)-下载记录,权限校验,log记录
背景公司对完有开放下载服务,需要设置IP白名单,之前通过直接在nginx里面设置ip白名单缺点:1,无法动态修改 2,无法进行日志记录,无法进行复杂的权限校验优点:1,开箱即用改进还是通过nginx,不过是通过nginx x-accel-redirect 参数对文件下载进行处理先通过nginx把下载请求转到web后台后台通过对url里面的参数进行解密,然后进行权限校验,...原创 2019-11-01 19:53:15 · 646 阅读 · 0 评论 -
python使用celery 报错 : OSError handle is closed OSError handle is closed
文章目录报错堆栈信息如下定位问题解决方案反思报错堆栈信息如下[2019-09-30 11:19:00,756: ERROR/ForkPoolWorker-85] Thread 'ResultHandler' crashed: OSError('handle is closed',)Traceback (most recent call last): File "/usr/lib/pyth...原创 2019-09-30 15:10:09 · 2071 阅读 · 0 评论 -
supervisor:多任务(340+)导致任务启动成功但是supervisor被系统杀死
多任务(340+)导致任务启动成功但是supervisor被系统杀死环境描述: 用supervisor组控制300+任务,centos7,python2.7,supervisor单个配置如下programs=name,....[program:name]command={name}.pydirectory=*autorestart=truestartsecs=5autorest...原创 2019-08-08 13:01:26 · 967 阅读 · 0 评论 -
服务器tcp连接上限问题解决:报错代码10060 由于连接方在一段时间后没有正确答复或连接的主机没有反应
first在flask后台上新开了一个接口,然后准备做一下压测压测报错如下图定位原因第一种情况(后台服务问题?):1,难道是因为flask的性能不够,导致的这个问题?否决了,因为我部署前面 有nginx->gunicorn(8个gevent worker) -> flask->redis,这种流程是不应该有性能瓶颈的,随后查看了log,也证实了我的想法...原创 2019-08-08 12:54:08 · 10683 阅读 · 0 评论