• 等级
  • 1166318 访问
  • 97 原创
  • 582 转发
  • 1662 排名
  • 198 评论
  • 62 获赞

linux下内存的统计和内存泄露类问题的定位

转自 http://blog.chinaunix.net/uid-9543173-id-3571436.html这篇文章查找内存泄漏的方式比较准确、合理。在产品的开发中,通过对当前系统消耗内存总量的统计,可以对产品所需内存总量进行精确的评估,从而选择合适的内存芯片与大小,降低产品的成本。在遇到内存泄露类问题时,经常会对此束手无策,本文通过对proc下进程相关的文件进行分析,精确评估系统消耗内存的...

2018-04-04 16:33:11

折磨半个月终于找到php脚本所谓的“内存泄露”原因!

转自 https://blog.csdn.net/tao_627/article/details/9532497——跟我遇到的问题一样。最近项目改版做2期,1期是我写的,当然2期也由我主要负责,我借鉴了同事和网上的多种可取方法,在性能上做了较大提升。项目是一个后台网页爬取程序,使用php开发,基于DOMDocument+Xpath+curl多线程异步,同时少量网页使用phpQuery处理,正则表达...

2018-04-04 16:23:26

Linux上查看造成IO高负载的进程

方法1:使用iotop工具这是一个python脚本工具,使用方法如:iotop-o方法2:使用工具dmesg使用dmesg之前,需要先开启内核的IO监控:echo1>/proc/sys/vm/block_dump或sysctlvm.block_dump=1然后可以使用如下命令查看IO最重的前10个进程:dmesg|awk-F:'{print$1}'|sort|uniq-c|...

2018-04-04 15:45:29

/proc/sys/vm/优化

/proc/sys/vm/优化1)     /proc/sys/vm/block_dump该文件表示是否打开BlockDebug模式,用于记录所有的读写及DirtyBlock写回动作。 缺省设置:0,禁用BlockDebug模式2)     /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写...

2018-04-04 15:39:14

Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches

问题: 频繁的文件访问会导致系统的Cache使用量大增查看内存使用情况: $free-m totalusedfreesharedbufferscached Mem:39553926280553459 -/+buffers/cache:4113544 Swap:572605726现象: free内存减少到几十兆,系统运行缓慢解决办法: 1.运行sync将d...

2018-04-04 15:37:03

Linux手动释放缓存的方法

转自 https://www.cnblogs.com/focai/p/5829897.html Linux手动释放缓存的方法Linux释放内存的命令:syncecho1>/proc/sys/vm/drop_cachesdrop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes3:释放所有缓存释放完内存后...

2018-04-04 15:36:05

使用 Strace 和 GDB 调试工具的乐趣

使用Strace和GDB调试工具的乐趣使用Strace和GDB调试工具的乐趣在研究UNIX系统的过程中获取知识WilliamZimmerly2006年6月22日发布WeiboGoogle+用电子邮件发送本页面 0UNIX家族总是为用户提供了丰富的工具。UNIX是一个工具财宝箱,有了这些工具,您不仅可以完成具有创造性的工作,还可以在深入研究该操作系统的同时得到教育...

2018-04-03 16:29:21

linux 常见内存问题检测工具

原文地址:http://blog.csdn.net/jinzhuojun/article/details/46659155C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题。如果crash的地方正是内存使用错误的地方,说明你人品好。如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了。当然,祼看c...

2018-04-03 10:39:49

linux下利用valgrind工具进行内存泄露检测和性能分析

valgrind通常用来成分析程序性能及程序中的内存泄露错误一 Valgrind工具集简绍Valgrind包含下列工具:    1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。    2、callgrind:检测程序代码的运行时间和调用过程,以及分析程序性能。    3、cachegrind:分析CPU的cache命中率、丢失率,用于进行代码优化。    4、helgrind...

2018-04-02 17:23:17

Linux查看实时网卡流量的几种方式

工作中,我们经常需要查看服务器的实时网卡流量。通常,我们会通过这几种方式查看Linux服务器的实时网卡流量。1.sar-nDEV12sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异,某些系统提供的sar支持基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量。sar–nDEV12命令后面12意思是:每一秒钟取1次值,取...

2018-03-30 14:55:40

用ping ,mtr ,traceroute 进行网络丢包分析

转自 https://blog.csdn.net/hankerzero/article/details/67062617 一、丢包原因  网络丢包原因很多,但是一般都是链路问题:骨干拥塞链路某个交换机背板坏了交换机负载不均导致  此外,还有主机本身原因:系统CPU负载高,数据包到网卡后CPU不能及时处理,但是缓冲区溢出,从而丢包。网卡故障   丢包时一般先分析下网络层面的,主机本身的还是原因较少的...

2018-03-26 12:13:10

UDP主要丢包原因及具体问题分析

一、主要丢包原因  1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv.  2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个udp包,不切割直接通过sen...

2018-03-26 11:46:53

ifconfig 下面的一些字段(errors, dropped, overruns)

ifconfig下面的一些字段(errors,dropped,overruns)一台机器经常收到丢包的报警,先看看最底层的有没有问题:#ethtool em2|egrep'Speed|Duplex'       Speed:1000Mb/s       Duplex:Full#ethtool -Sem2|grepcrc    rx_crc_errors:0S...

2018-03-22 10:52:43

Linux网络编程-UDP接收数据丢包解决方案

转自 http://blog.csdn.net/baidu_35692628/article/details/76165337序言项目涉及基于UDP的socket通信,该部分的基本情况如下:发端程序:主函数开启4个发包线程,每个线程发送一定量的数据,通过限制发包速率限制发包流量。收端程序:主函数对应开启4个收包线程,每个线程收取对应端口的数据,收到数据包即时封装处理。其他说明:本地收发。如果不限制...

2018-03-21 12:12:27

使用 iPerf 测试并排查 UDP 丢包问题

转自 https://help.aliyun.com/knowledge_detail/58656.html 现象描述使用高速通道打通同一个地域(Region)下的两台VPC网络类型的ECS实例后,通过iPerf测试两台实例内网之间UDP丢包率,测试带宽达到50Mbps以上时出现了丢包现象,且随着带宽的增加,丢包率出现增长趋势。如下图:问题分析假设两台网络类型的ECS实例...

2018-03-21 11:42:20

Linux编程之UDP SOCKET全攻略

Linux编程之UDPSOCKET全攻略这篇文章将对linux下udpsocket编程重要知识点进行总结,无论是开发人员应知应会的,还是说udpsocket的一些偏僻知识点,本文都会讲到。尽可能做到,读了一篇文章之后,大家对udpsocket有一个比较全面的认识。本文分为两个专题,第一个是常用的updsocket框架,第二个是一些udpsocket并不常用但又相当重要的知识点。 一、基...

2018-03-06 12:30:22

TCP 和 UDP 在socket编程中的区别

一、TCP与UDP的区别 基于连接与无连接   对系统资源的要求(TCP较多,UDP少)   UDP程序结构较简单   流模式与数据报模式   TCP保证数据正确性,UDP可能丢包   TCP保证数据顺序,UDP不保证           部分满足以下几点要求时,应该采用UDP面向数据报方式网络数据大多为短消息   拥有大量Client   对数据安全性无特殊要求   网络负担非常重,但对响应...

2018-03-05 12:04:55

开发板上syslog使用方法小结

首先我们需要先确认我们的开发板上是否安装了syslog服务,在开发板的文件系统下输入syslogdhelp命令查看如果不支持就是busybox的版本太低了。当确定安装了后我们根据help显示的默认配置文件来查看该配置文件是否存在,如果不存在我们需要创建一个配置文件如:touch/etc/syslog.conf,同时使用syslogd-f/etc/syslog.conf来进行绑定。

2018-02-06 15:06:33

class_create(),device_create自动创建设备文件结点

从linux内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代。相比devfs,udev有很多优势,在此就不罗嗦了,提醒一点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用class_device_c

2018-02-01 11:46:09

linux 调试利器gdb, strace, pstack, pstree, lsof

linux调试利器gdb,strace,pstack,pstree,lsof1)如何使用strace+pstack利器分析程序性能?http://www.cnblogs.com/bangerlee/archive/2012/04/30/2476190.html此文有详细介绍怎么用strace和pstack2)Linux下多线程查看工具(pstree

2018-01-31 00:00:24

简单并快乐着

关注
  • 中国
奖章
  • 持之以恒