Linux开发
文章平均质量分 65
Linux内核、Rootfs、APP开发
村里小码农
循道而行,行稳致远;虚静待令,有物混成。
展开
-
03-Unix Socket demo
【代码】03-Unix Socket demo。原创 2024-01-05 17:33:09 · 482 阅读 · 0 评论 -
IPC通信
虽然普通的TCP Socket也可用于同一台主机的进程间通信(通过loopback地址127.0.0.1),但Unix Domain Socket在同一台主机上的传输速度是TCP Socket的两倍,这是因为Unix Domain Socket不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程复制到另一个进程,所以速度更快。实际上,进程之间在共享内存时始终保持共享区域,直到通信完毕为止,这样,数据的内容一直保存在共享内存中,并没有写回文件。...原创 2022-08-10 15:22:06 · 1236 阅读 · 0 评论 -
Ubuntu20.4 Python3.7安装
2.2配置./configure--enable-optimizations。2.1解压tarxvfPython-3.7.1.tgz。选择Python版本//以Python3.7为例。2.3编译make-j8。原创 2022-07-26 16:41:26 · 1714 阅读 · 0 评论 -
如何让linux终端不显示路径
前言:通常情况下,Linux终端会显示完整的路径:如下图过长的路径不方便命令行操作。修改:修改~/.bashrc$ vim ~/.bashrc找到PS1项删除后更新$ source ~/.bashrc修改后效果如下:...原创 2022-04-01 11:27:14 · 3374 阅读 · 0 评论 -
BCC-Tool 工具使用
1. 概述2. 编译安装1). 下载地址:Releases · iovisor/bcc (github.com)https://github.com/iovisor/bcc/releases2). 文件:bcc-src-with-submodule.tar.gz3).解压:tar xvzfbcc-src-with-submodule.tar.gz2.1 Linux X862.1.1 安装编译环境sudo apt-get -y install bison build.原创 2022-03-01 13:37:47 · 4400 阅读 · 0 评论 -
Android/Linux系统性能分析工具之-top
1. 概述2. 用法2.1 命令格式2.2 字段说明://Top显示字段终端输入:top显示如下:PID:进程号USER:用户PR:优先级NI:任务nice值VIRT:虚拟内存用量RES:物理内存用量SHR:共享内存用量S:进程状态 D= 不可中断的睡眠状态 R= 运行 S= 睡眠 T= 跟踪 / 停止 Z= 僵尸进程%CPU:CPU占用比%MEM:物理内存占用比TIME+:累计CP...原创 2022-03-01 09:32:47 · 1439 阅读 · 0 评论 -
Android/Linux系统性能分析之-CPU
1. 概述:CPU推动了所有软件的运行,因而通常是系统性能分析的首要目标;现代系统一般有多颗CPU,通过内核调度器共享给所有运行软件。当需求的CPU资源超过了系统力所能及的范围时,进程里的线程(或者任务)将会排队,等待轮候自己运行的机会。等待给应用程序的运行带来严重延时,使得性能下降。我们可以通过仔细检查CPU的用量来寻找性能改进的空间,还可以去除以下不需要的负载。从上层来说,可以按照进程,线程或者任务来检查CPU的用量。从下层来看,可以剖析并研究应用程序和内核的代码路径。在底层,可以研究CPU指令原创 2022-02-24 18:40:12 · 3478 阅读 · 0 评论 -
Android/Linux系统性能分析工具之-mpstat
1. 概述:mpstat 是 Multiprocessor Statistics 的缩写,是Linux实时系统监控工具。其报告与 CPU 的一些统计信息,这些信息存放在 /proc/stat 文件中。在多 CPUs 系统里,其不但能查看所有 CPU 的平均状况信息,而且能够查看特定 CPU 的信息。mpstat 最大的特点是:可以查看多核心 cpu 中每个计算核心的统计数据;而类似工具 vmstat只能查看系统整体 cpu 情况1.1 与vmstat差别vmstat 和 mpstat.原创 2022-02-22 16:12:39 · 2288 阅读 · 0 评论 -
Android/Linux系统性能分析工具之-vmstat
1. 概述:vmstat命令是最常见的Linux/Unix监控工具,它会报告 Linux 系统的虚拟内存统计。vmstat 会报告有关进程、内存、分页、块 IO、陷阱(中断)和 cpu 活动的信息。它可以帮助 Linux 管理员在解决问题时识别系统瓶颈。相比top,可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。2. 用法2.2 命令格式以及参数:vmstat [ options] [delay] [count]对应中原创 2022-02-22 15:34:39 · 653 阅读 · 0 评论 -
Android/Linux系统性能分析工具之-iostat
1. 概述:iostat 主要用于输出磁盘IO 和 CPU的统计信息,在排查分析io问题时,可以使用iostat查看磁盘的IO性能状态数据。iostat属于sysstat软件包,针对Linux/Android嵌入式平台可以交叉编译sysstat后获取iostat可执行文件在该平台上操作。Android平台Systat交叉编译可以参考下面文章:Android NDK交叉编译sysstat工具_坚定信念,百折不饶-CSDN博客2. 用法:2.1 命令格式及参数iostat [ o.原创 2022-02-22 11:53:44 · 1060 阅读 · 0 评论 -
Android/Linux系统性能分析及工具
CPU CPU架构 CPU推动了所有软件的运行,因此通常是系统性能分析的首要目标。现代系统一般有多颗CPU,通过内核调度器共享给所有运行软件。当需求的CPU资源超过了系统力所能及的范围时,进程里的线程(或者任务)将会排队,等待轮候自己运行的机会。等待给应用程序的运行带来严重延时,使得性能下降。我们可以通过仔细检查CPU的用量,寻找性能改进的空间,还可以去除一些不需要的负载。 CPU内存缓存 为了提高内存I/O性能,处理器提供了多种硬件缓存。缓存大小的关系如下图,越小则速度越快...原创 2022-02-21 09:56:00 · 2201 阅读 · 0 评论 -
ubuntu apt install 提示 busy
脚本:#!/bin/bashsudo rm /var/lib/apt/lists/locksudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock*sudo dpkg --configure -asudo apt update原创 2022-01-14 11:05:51 · 366 阅读 · 0 评论 -
Android/Linux EAS优化-schedtune
Linux cgroups机制中的cpu/cpuset/schedtune子系统 跟linux/android进程调度策略有关,记录下各项功能参数的用法。SchedTuneSchedTune是一项与CPU调频相关的性能提升技术,它实现为一个cgroup控制器。这个控制器提供了一个名称为schedtune.boost的配置参数,运行时系统可以使用它来更改该组中的进程的调度方式。每当调整这个参数的时候,它会使受影响的进程看起来比实际更重(或更轻)。如果一个组被提升了25%,那么调度程序将期望它使原创 2022-01-08 11:16:40 · 5496 阅读 · 0 评论 -
Android NDK交叉编译sysstat工具
1. 下载 sysstat 镜像下载路径:https://gitcode.net/mirrors/sysstat/sysstat/-/tree/v12.5.52. 下载ndk 镜像下载路径:https://developer.android.google.cn/ndk/downloads?hl=zh-cn 3. 写编译脚本build.sh脚本如下:#!/bin/bash####################################### b...原创 2021-12-29 17:11:01 · 1995 阅读 · 0 评论 -
VirtualBox配置共享文件夹
1. 安装增强工具设备->安装增强功能2. 配置共享目录Linux:#mkdir -p /home/xxxx/sharewindows:新建文件夹 10_ubuntu_share/3. 添加当前用户到vboxsf组#sudo adduser xxxx vboxsf4. 重启原创 2021-12-29 14:35:20 · 733 阅读 · 0 评论 -
Android/Linux EAS优化-Cpuset
1. Cpuset介绍:cgroup的cpusets文档参见这里:ocumentation/cgroup-v1/cpusets.txt。在多CPU或者多核CPU的情况下,cpusets限制了进程使用的CPU范围。如果你仔细看了前面/init.rc中的配置,你就会发现,那里对cpuset做了一些具体的分组,包括:foreground background top-app system-background restricted很明显的,这里是在对进程的类型做分类。有了这个分类的基..原创 2021-12-23 17:18:06 · 3635 阅读 · 0 评论 -
Linux/Android Audio硬件接口介绍
人的说话频率基本上为300Hz-3400Hz,但是人耳朵听觉频率基本上为20Hz-20000Hz。1. 数字音频接口 I2S、PCM、TDM 、PDM 音频接口 中文+全称 主要(技术+应用)场景 备注说明 PCM Pulse Code Modulation =脉冲编码调制 AP处理器和通信MODEM/蓝牙之间也是通过PCM来传输语音数据(就是双向打...原创 2021-12-20 17:46:07 · 1430 阅读 · 0 评论 -
Top-Down性能分析
关键术语:TMA: Top-down Microarchitecture Analysis MethodPMU:性能监控单元(Performance Monitoring Unit, PMU)TMAM:自顶向下的微体系架构分析方法(Top-Down Microarchitecture Analysis Method, TMAM)框图如下:参考资料:Top-down Microarchitecture Analysis Method | 阿里云智能基础软件部-技术博客 ..原创 2021-12-10 11:46:19 · 1342 阅读 · 0 评论 -
Ubuntu 安装eclipse for C++/C
1. Download JDK and Eclipse for C/C++1.1 Download JDK: $ wget http://mirror.cnop.net/jdk/linux/jdk-8u112-linux-x64.tar.gz LINUX:~/workspace/TOOLS$ wget http://mirror.cnop.net/jdk/linux/jdk-8u112-linux-x64.tar.gz --2021-07-29 10:04:51-- h...原创 2021-07-29 15:39:43 · 754 阅读 · 0 评论 -
Yocto OpenCV交叉编译
1. 下载OpenCV4.5 https://github.com/opencv/opencveg:4.0.1下载wget -O opencv.zip https://github.com/opencv/opencv/archive/4.0.1.zipwget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.0.1.zipunzip opencv.zipunzip opencv_contr...原创 2021-01-13 20:19:22 · 1157 阅读 · 0 评论 -
GPIO I2C
/* * BOOTLOADER GPIO I2C SAMPLE CODE.*/#include <string.h>#include <stdlib.h>#include <debug.h>#include <stdarg.h>#include <errno.h>#include <sys/types.h>#include "gpio.h"#include "timer.h"#include "typedefs..原创 2020-12-18 17:28:50 · 356 阅读 · 1 评论 -
Yocto ffmpeg 编译
1. 下载FFMPEG http://ffmpeg.org/releases/ffmpeg-4.1.0.tar.bz2 2. 解压ffmpeg-4.1.0.tar.bz2 $ tar xvjf ffmpeg-4.1.0.tar.bz23. 安装yocto工具链 $ mkdir -p ffmpeg-4.1.0/tool_chains $ ./oecore-x86_64-aarch64-toolchain-nodistro.0.sh -yd /worktemp/ffmp...原创 2020-10-20 15:41:06 · 1040 阅读 · 0 评论