- 博客(672)
- 资源 (7)
- 收藏
- 关注

转载 linux设备驱动之工作队列学习(workqueue)
首先要注意本文的两个概念:(1)使用内核提供的工作队列, (2)自己创建工作队列http://blog.youkuaiyun.com/fontlose/article/details/8286445 工作队列是一种将工作推后执行的形式,交由一个内核线程去执行在进程上下文执行,其不能访问用户空间。最重要特点的就是工作队列允许重新调度甚至是睡眠。工作队列子系统提供了一个默认的工作者线程来处理这些工作。默
2016-05-26 14:33:30
2019

转载 C语言实现修改文本文件中特定行的实现代码(百度一天没找到,bing搜索十分钟就找到了)
好的,首先我先叙述下功能要求:其实很简单,就是Shell中sed命令的C语言实现,实现定位到所需要的字段的那一行,之后修改成需要的内容。但是由于C语言是面向过程的语言,需要顺序执行的特点,所以,实现中遇到了很多麻烦,在这里博主将实现的过程描述如下,以便大家参考。问题描述:文本内容:复制代码 代码如下:wireless.1.authmode=1wireless.1.c
2016-05-03 20:07:10
941

原创 vim 配合各种插件工具的详细使用方法收集
一 查找/字符串 查找文本中含有该字符串的字符* 向下全字匹配查找光标所在字符串#向上全字匹配查找光标所在字符串dd 删除光标所在行num+dd 删除num 行j+num+回车 向下num 行p 粘贴u 恢复修改ctrl+r 取消上一次操作shift+g 跳转到最后一行先这么多,后面还有很多经验的东西vim 要配合cscope 使用才会更有效
2016-03-16 19:45:21
641
转载 linux下内存的统计和内存泄露类问题的定位
转自 http://blog.chinaunix.net/uid-9543173-id-3571436.html 这篇文章查找内存泄漏的方式比较准确、合理。在产品的开发中,通过对当前系统消耗内存总量的统计,可以对产品所需内存总量进行精确的评估,从而选择合适的内存芯片与大小,降低产品的成本。在遇到内存泄露类问题时,经常会对此束手无策,本文通过对proc下进程相关的文件进行分析,精确评估系统消耗内存的...
2018-04-04 16:33:11
1383
转载 折磨半个月终于找到php脚本所谓的“内存泄露”原因!
转自 https://blog.youkuaiyun.com/tao_627/article/details/9532497——跟我遇到的问题一样。最近项目改版做2期,1期是我写的,当然2期也由我主要负责,我借鉴了同事和网上的多种可取方法,在性能上做了较大提升。项目是一个后台网页爬取程序,使用php开发,基于DOMDocument+Xpath+curl多线程异步,同时少量网页使用phpQuery处理,正则表达...
2018-04-04 16:23:26
1341
转载 Linux上查看造成IO高负载的进程
方法1:使用iotop工具这是一个python脚本工具,使用方法如:iotop -o方法2:使用工具dmesg使用dmesg之前,需要先开启内核的IO监控:echo 1 >/proc/sys/vm/block_dump或sysctl vm.block_dump=1然后可以使用如下命令查看IO最重的前10个进程:dmesg |awk -F: '{print $1}'|sort|uniq -c|...
2018-04-04 15:45:29
2087
转载 /proc/sys/vm/优化
/proc/sys/vm/优化1) /proc/sys/vm/block_dump该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。 缺省设置:0,禁用Block Debug模式2) /proc/sys/vm/dirty_background_ratio该文件表示脏数据到达系统整体内存的百分比,此时触发pdflush进程把脏数据写...
2018-04-04 15:39:14
909
转载 Linux下清理内存和Cache方法 /proc/sys/vm/drop_caches
问题: 频繁的文件访问会导致系统的Cache使用量大增查看内存使用情况: $ free -m total used free shared buffers cached Mem: 3955 3926 28 0 55 3459 -/+ buffers/cache: 411 3544 Swap: 5726 0 5726现象: free内存减少到几十兆,系统运行缓慢解决办法: 1.运行 sync 将 d...
2018-04-04 15:37:03
902
1
转载 Linux手动释放缓存的方法
转自 https://www.cnblogs.com/focai/p/5829897.html Linux手动释放缓存的方法Linux释放内存的命令:syncecho 1 > /proc/sys/vm/drop_cachesdrop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes3:释放所有缓存释放完内存后...
2018-04-04 15:36:05
530
转载 使用 Strace 和 GDB 调试工具的乐趣
使用 Strace 和 GDB 调试工具的乐趣使用 Strace 和 GDB 调试工具的乐趣在研究 UNIX 系统的过程中获取知识William Zimmerly2006 年 6 月 22 日发布WeiboGoogle+用电子邮件发送本页面 0UNIX 家族总是为用户提供了丰富的工具。UNIX 是一个工具财宝箱,有了这些工具,您不仅可以完成具有创造性的工作,还可以在深入研究该操作系统的同时得到教育...
2018-04-03 16:29:21
304
转载 linux 常见内存问题检测工具
原文地址:http://blog.youkuaiyun.com/jinzhuojun/article/details/46659155C/C++等底层语言在提供强大功能及性能的同时,其灵活的内存访问也带来了各种纠结的问题。如果crash的地方正是内存使用错误的地方,说明你人品好。如果crash的地方内存明显不是consistent的,或者内存管理信息都已被破坏,并且还是随机出现的,那就比较麻烦了。当然,祼看c...
2018-04-03 10:39:49
1452
转载 linux下利用valgrind工具进行内存泄露检测和性能分析
valgrind通常用来成分析程序性能及程序中的内存泄露错误一 Valgrind工具集简绍Valgrind包含下列工具: 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。 2、callgrind:检测程序代码的运行时间和调用过程,以及分析程序性能。 3、cachegrind:分析CPU的cache命中率、丢失率,用于进行代码优化。 4、helgrind...
2018-04-02 17:23:17
307
转载 Linux查看实时网卡流量的几种方式
工作中,我们经常需要查看服务器的实时网卡流量。通常,我们会通过这几种方式查看Linux服务器的实时网卡流量。1. sar -n DEV 1 2sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异,某些系统提供的sar支持基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量。 sar –n DEV 1 2命令后面1 2 意思是:每一秒钟取1次值,取...
2018-03-30 14:55:40
5441
转载 用ping ,mtr ,traceroute 进行网络丢包分析
转自 https://blog.youkuaiyun.com/hankerzero/article/details/67062617 一、丢包原因 网络丢包原因很多,但是一般都是链路问题:骨干拥塞链路某个交换机背板坏了交换机负载不均导致 此外,还有主机本身原因:系统CPU负载高,数据包到网卡后CPU不能及时处理,但是缓冲区溢出,从而丢包。网卡故障 丢包时一般先分析下网络层面的,主机本身的还是原因较少的...
2018-03-26 12:13:10
20209
1
转载 UDP主要丢包原因及具体问题分析
一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入一个缓冲区,然后迅速返回继续recv. 2、发送的包巨大丢包:虽然send方法会帮你做大包切割成小包发送的事情,但包太大也不行。例如超过50K的一个udp包,不切割直接通过sen...
2018-03-26 11:46:53
810
转载 ifconfig 下面的一些字段(errors, dropped, overruns)
ifconfig 下面的一些字段(errors, dropped, overruns)一台机器经常收到丢包的报警,先看看最底层的有没有问题:# ethtool em2 | egrep 'Speed|Duplex' Speed: 1000Mb/s Duplex: Full# ethtool -S em2 | grep crc rx_crc_errors: 0S...
2018-03-22 10:52:43
2256
转载 Linux网络编程-UDP接收数据丢包解决方案
转自 http://blog.youkuaiyun.com/baidu_35692628/article/details/76165337序言项目涉及基于UDP的socket通信,该部分的基本情况如下:发端程序:主函数开启4个发包线程,每个线程发送一定量的数据,通过限制发包速率限制发包流量。收端程序:主函数对应开启4个收包线程,每个线程收取对应端口的数据,收到数据包即时封装处理。其他说明:本地收发。如果不限制...
2018-03-21 12:12:27
694
转载 使用 iPerf 测试并排查 UDP 丢包问题
转自 https://help.aliyun.com/knowledge_detail/58656.html 现象描述使用高速通道打通同一个地域(Region)下的两台 VPC 网络类型的 ECS 实例后,通过 iPerf 测试两台实例内网之间 UDP 丢包率,测试带宽达到 50 Mbps 以上时出现了丢包现象,且随着带宽的增加,丢包率出现增长趋势。如下图:问题分析假设两台网络类型的 ECS 实例...
2018-03-21 11:42:20
9393
2
转载 Linux编程之UDP SOCKET全攻略
Linux编程之UDP SOCKET全攻略这篇文章将对linux下udp socket编程重要知识点进行总结,无论是开发人员应知应会的,还是说udp socket的一些偏僻知识点,本文都会讲到。尽可能做到,读了一篇文章之后,大家对udp socket有一个比较全面的认识。本文分为两个专题,第一个是常用的upd socket框架,第二个是一些udp socket并不常用但又相当重要的知识点。 一、基...
2018-03-06 12:30:22
297
转载 TCP 和 UDP 在socket编程中的区别
一、TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 部分满足以下几点要求时,应该采用UDP 面向数据报方式 网络数据大多为短消息 拥有大量Client 对数据安全性无特殊要求 网络负担非常重,但对响应...
2018-03-05 12:04:55
780
转载 开发板上syslog使用方法小结
首先我们需要先确认我们的开发板上是否安装了syslog服务,在开发板的文件系统下输入syslogd help命令查看如果不支持就是busybox的版本太低了。当确定安装了后我们根据help显示的默认配置文件来查看该配置文件是否存在,如果不存在我们需要创建一个配置文件如:touch /etc/syslog.conf,同时使用syslogd -f /etc/syslog.conf来进行绑定。
2018-02-06 15:06:33
352
转载 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
259
转载 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
344
转载 为什么有些android printf 没法打印出信息
printf是很多人最熟悉的一个函数了,同时也是使用最多的一个函数。但是在Android中,直接使用printf是无法将信息输出到串口中显示的(除非直接通过串口运行可执行程序)。为了继续使用printf,可以使用重定向的方式,将printf的输出从STDOUT转到文件中,同时方便串口输入命令调试,也不影响日志的记录。freopen("/data/flash/stdout.txt","w",st
2018-01-30 09:36:33
4303
2
转载 Linux 的伪终端的基本原理 及其在远程登录(SSH,telnet等)中的应用
Linux 的伪终端的基本原理 及其在远程登录(SSH,telnet等)中的应用转自 https://www.cnblogs.com/zzdyyy/p/7538077.html——这篇文章写的太棒了,非常感谢作者的分享,让我了解了很多知识。本文介绍了linux中伪终端的创建,介绍了终端的回显、行缓存、控制字符等特性,并在此基础上解释和模拟了telnet、SSH开启远程会话的
2018-01-29 16:14:01
1750
转载 守护进程使用syslog函数打印信息(基于ARM-Linux)
本文将描述在使用inetd守护进程时,如何通过syslog函数打印消息到日志文件。为什么需要这样做呢?根据《UNIX网络编程 卷1:套接字联网API》一书第13章的描述:由于守护进程没有控制终端,它们不能把消fprintf到stderr上。从守护进程中登记消息的常用技巧就是调用syslog函数。而sysolog函数需要syslogd服务的支持。因此在编译busybox时需要
2018-01-29 11:37:57
1216
转载 android中如何重定向程序的标准输出
转自 http://blog.youkuaiyun.com/wlsfling/article/details/44811569有时候一些应用程序的日志输出是通过printf之类的标准函数输出的,logcat不能捕获到这些日志。一个技巧是使用logwrapper命令来执行这些应用程序,logwrapper可以把标准输出重定向到logcat中去。Usage: logwrap
2018-01-29 10:28:45
1228
转载 tcpdump非常实用的抓包实例
详细的文档见tcpdump高级过滤技巧基本语法========过滤主机--------- 抓取所有经过 eth1,目的或源地址是 192.168.1.1 的网络数据# tcpdump -i eth1 host 192.168.1.1- 源地址# tcpdump -i eth1 src host 192.168.1.1- 目的地址# tcpdump -i
2018-01-29 10:25:36
342
转载 linux network console在sep4020开发板的实现
Written by leeming http://blog.chinaunix.net/uid-9863638-id-1996324.html本以为linux的以太网控制台应该像串口控制台一样能够对linux环境进行控制操作的,但是深入发现这个console非彼console,以太网控制台仅仅是能允许将本地的内核信息(注意:仅仅是内核的信息)通过网络的方式传
2018-01-28 22:37:44
380
转载 linux重定向串口打印到telnet
在嵌入式开发中,我们都是使用串口进行调试定位问题。然而在成品调试或者远程调试时,没有串口,只能telnet进去,少了很多应用进程的打印,这样就不利于我们发现问题。需要一种方法把串口所有输出重定向到telnet。 这就涉及到一些终端概念,可以参考上篇博文linux下tty, ttyn, pts, pty, ttySn, console理解。主要是利用tty的ioctl重定向方法来实现重
2018-01-25 18:09:16
2567
转载 基于TCP流协议的socket网络文件传输Demo
基于TCP流协议的socket网络文件传输Demo:实现:C语言功能:文件传输(可以传任何格式的文件)[cpp] view plain copy/************************************************************************* > File Name:
2018-01-23 11:07:43
1620
转载 理解IP和端口
理解IP和端口IP地址是一个规定,现在使用的是IPv4,既由4个0-255之间的数字组成,在计算机内部存储时只需要4个字节即可。在计算机中,IP地址是分配给网卡的,每个网卡有一个唯一的IP地址,如果一个计算机有多个网卡,则该台计算机则拥有多个不同的IP地址,在同一个网络内部,IP地址不能相同。IP地址的概念类似于电话号码、身份证这样的概念。由于IP地址不方便记忆,所以有专门创造了域名(Do
2018-01-23 10:14:20
749
转载 linux之dup和dup2函数解析
本文转载,原文地址:http://blog.youkuaiyun.com/fulinus/article/details/9669177#comments1、文件描述符在内核中数据结构 在具体说dup/dup2之前,我认为有必要先了解一下文件描述符在内核中的形态。一个进程在此存在期间,会有一些文件被打开,从而会返回一些文件描述符,从shell中运行一个进程,默认会有3个文件描述符存在(0、1、2),0与进程
2018-01-18 15:08:59
369
转载 android 手机同时使用wifi 和数据流量(3G/4G...)
Android手机同时使用Wi-Fi和数据流量大家都知道,当手机成功连接到Wi-Fi热点以后,手机所产生的上网流量都是通过Wi-Fi来传输的,而手机的移动流量会被禁用。但是,我们现在有特殊的业务需求,需要让手机成功连接Wi-Fi后还可以走数据流量(比如3G、4G)。Android手机同时使用Wi-Fi和数据流量 背景介绍 相关调研 查找方法 实现方法 使用wireless-tool
2018-01-16 09:37:05
20374
7
转载 Linux下路由配置梳理
转自 https://www.cnblogs.com/kevingrace/p/6490627.html在日常运维作业中,经常会碰到路由表的操作。下面就linux运维中的路由操作做一梳理:------------------------------------------------------------------------------先说一些关于路由的基础知识:1)路由
2018-01-15 12:06:01
257
转载 iptables 详解
转自 http://blog.chinaunix.net/uid-26495963-id-3279216.html 一:前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进
2018-01-05 17:14:24
185
转载 ARM linux平台wifi AP共享eth0上外网的iptables脚本
#! /bin/sh#以下为有关防火墙的信息:#外部网卡:eth0#外部上网IP地址:192.168.0.121#外部掩码:255.255.255.0#wifi网卡:#内部IP:192.168.10.2#内部子网掩码:255.255.255.0#内部网络区号192.168.0.0/24#设置linux系统允许ip包转发echo "1" > /proc
2018-01-05 16:25:55
1889
转载 adb 源码分析收集
http://blog.youkuaiyun.com/xgbing/article/details/52058390android adb源码分析(1)
2017-12-29 17:36:51
164
转载 关于 "setconsole.c" Alesssandro Rubini 的邮件回复
转自 http://blog.youkuaiyun.com/cinmyheart/article/details/38960967关于 "setconsole.c" Alesssandro Rubini 的邮件回复 抱着试一试的心态给偶像写了一封求助e-mail,回复了!!!我的小心脏啊~呵呵~Rubini是谁不解释了...
2017-12-29 11:34:57
292
转载 stty 命令中文使用详解
开源是一种精神,分享是一种美德!stty相关命令:暂无相关命令用法:stty [-F 设备 | --file=设备] [设置]... 或:stty [-F 设备 | --file=设备] [-a|--all] 或:stty [-F 设备 | --file=设备] [-g|--save]输出或修改终端参数。 -a, --all 以可
2017-12-29 11:15:41
22738
S5PV210 最新排版最合理的三星英文datasheet
2013-11-08
win7 64 bit 系统ActiveSync 连接软件
2013-07-31
《GPS应用程序设计》书籍源代码
2013-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人