
Linux
ZONG_XP
这个作者很懒,什么都没留下…
-
原创 Python之kafka消息队列操作入门
1 kafka简介1.1 什么是kafkakafka是一个分布式、高吞吐量、高扩展性的消息队列系统。kafka最初是由Linkedin公司开发的,后来在2010年贡献给了Apache基金会,成为了一个开源项目。主要应用在日志收集系统和消息系统,相信大家之前也听说过其他的消息队列中间件,比如RabbitMQ、AcitveMQ,其实kafka就是这么一个东西,也可以叫做KafkaMQ。总之,K...2019-10-10 11:49:472654
0
-
原创 Linux之NVIDIA显卡驱动安装方法(重启失效解决方法)
在官网链接下载显卡驱动搜索后点击下载、同意协议即可先卸载原先驱动,如果以前是通过ppa源安装的显卡驱动,则使用下边的命令卸载sudo apt-get remove --purge nvidia*如果以前是通过runfile安装的,则通过下边的命令卸载sudo ./NVIDIA-Linux-x86_64-418.116.00.run --uninstall禁用nouveausudo vim /etc/modprobe.d/blacklist.conf 在最后两行添加2020-09-27 11:21:451260
1
-
原创 Linux之网络带宽监控工具bmon
0 背景在 linux 上做网络设备开发时,往往需要查看带宽占用情况,这里介绍一个我使用感觉不错的工具 bmon1 工具介绍安装方法很简单sudo apt-get install bmon安装好之后查看使用方法nvidia@jxresearch:~$ bmon -hbmon 4.0Copyright (C) 2001-2015 by Thomas Graf <tgraf@suug.ch>Copyright (C) 2013 Red Hat, Inc.bmon2020-08-25 11:32:59244
0
-
原创 Linux之/dev/sda占用100%清理(ncdu使用)
0 背景开发过程中,发现服务器/dev/sda6占满了,如下$ df -hFilesystem Size Used Avail Use% Mounted onudev 126G 0 126G 0% /devtmpfs 26G 2.6G 23G 11% /run/dev/sda6 160G 152G 54M 100% /tmpfs 126G 1.1M 126G 1%2020-08-05 09:55:171962
0
-
转载 为 CmakeLists.txt 添加 boost 组件
boost 具有很好的平台独立性, 因此会作为首选的 api 来完成特定的功能.我在项目中使用了 boost 的 filesystem 功能来获取程序的运行目录.#include <boost/filesystem/path.hpp> #include <boost/filesystem/operations.hpp> int main(){ ... std::string exePath = boost::filesystem::initial_p2020-07-15 15:44:54760
0
-
原创 NVIDIA之获得显卡GPU_ARCHS值的方法
我们在使用源码编译带cuda的opencv时,需要设置显卡的CUDA_ARCH_BIN,本文介绍一下获得该值的方法方法一安装好cuda之后,可以从cuda sample中获得cd /usr/local/cuda/samples/1_Utilities/deviceQuerysudo make./deviceQuery如上,运行后输出信息如下nvidia@nvidia-X10SRA:/usr/local/cuda/samples/1_Utilities/deviceQuery$ .2020-05-28 18:52:101355
1
-
转载 Linux之分析bin文件的10种方法
这世界有10种人,一种人懂二进制,另一种人不懂二进制。 ——鲁迅大家好,我是良许。二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理。这里所讲的二进制文件,是指一些可执行文件,包括你天天要使用的 Linux 命令,也是二进制文件的一种。Linux 系统给我们提供了非常多用于分析二进制文件的工具,不管你在 Linux 下从事的是何种工作,知道这些工具也会让你对你的系统更加了解。在本文中,将介绍几种最常用的用于分析二进制文件的工具及命令,这些工具在大部分发...2020-05-18 11:24:40821
0
-
原创 Linux之ubuntu查看媒体信息工具
在linux上开发时,经常要与媒体文件交互,如图片、视频、音频文件,交互时需要获得媒体信息,如视频帧率、视频宽高、视频时常、编解码格式等,本文对查看媒体信息的方法进行总结,常用的工具是mediainfo和ffprob1 mediainfo在ubuntu18.04上安装方法很简单sudo apt-get install mediainfo安装后查看版本信息$ mediainfo --versionMediaInfo Command line, MediaInfoLib - v17.2020-05-14 19:49:37546
0
-
原创 Linux之常用的压缩解压缩命令
记录一下平时常用到的压缩解压缩命令,免去每次查找的麻烦(不断完善)1 解压命令tar -xvf filename.tar tar -zxvf filename.tar.gz tar -jxvf filename.tar.bz2 tar -xZvf filename.tar.Z unrar e filename.rar unzip filename.zip2 压缩命令tar -zcvf filename.tar.gz filename zip filename.zip fil2020-05-09 17:42:52205
2
-
转载 Linux之ubuntu离线安装软件包
方法一在可上网的ubuntu电脑上,使用apt-get install安装软件,然后到/var/cache/apt/archives目录下拷贝安装包到离线ubuntu电脑上。比如要安装samba,步骤如下:# sudo apt-get install samba# sudo cd /var/cache/apt/archives然后到将下载的 samba_3.6.18-1ubuntu...2020-05-08 13:35:481551
0
-
转载 Linux之core dumped出错原因及位置分析
0 背景当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其他处理器和操作系统状态和信息。core dum...2020-02-21 22:42:183752
0
-
原创 英伟达显卡监控工具nvtop使用方法
0 背景在用英伟达显卡做深度学习训练或推理时,我们常用nvidia-smi指令来查看显卡的使用情况,如图所示这种方法可以看出每张显卡内存和GPU利用率的实时情况,但看不出历史数据和变化曲线,这个时候就需要用到nvtop了。Nvtop代表NVidia TOP,这是用于NVIDIA GPU的任务监视器。它可以处理多个GPU,并以熟悉的方式打印有关它们的信息。如图所示,很直观的显示了每张...2019-12-30 16:57:534754
0
-
原创 ubuntu16.04设置静态IP与DNS
参考:https://blog.csdn.net/gerald_jones/article/details/808068840 背景虽然网上相关设置的文章有很多,但尝试设置的时候总是不成功,因此将配置流程记录下。1 关闭NetworkManagerubuntu系统有两种形态,分别是ubuntu server版本和ubuntu desktop版本,它们管理网络的形式不同,在 Ubun...2019-11-25 16:47:23382
0
-
转载 Linux之iptables端口转发(外网访问内网)
0 背景考虑一种网络拓扑应用情景,一个内部局域网中有多台服务器提供不同的服务,如web服务、FTP服务、ssh、telnet等,通过服务器(或网关、防火墙)连接外部网络,如果外部网络上的主机需要访问这些服务器,则需要在网关上实现转发。再转述成另一种应用场合,多台设备连接到一台服务器,服务器有2个网卡,分别连接内外网。外网无法直接访问设备上的数据、服务。在服务器上实现转发后,则可达到目的。...2019-10-28 11:39:247881
0
-
原创 Linux之systemd服务配置及自动重启
0 背景在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方法很简单,使用linux系统的systemd即可实现1 systemd介绍历史上,linux的启动一直采用init进程,比如$ sudo /etc/init.d/apache2 start# 或者$ service apach...2019-10-28 11:21:187643
0
-
原创 TensorFlow Serving系列之源码安装服务
0 背景在之前的文章中,我们介绍过用docker的方式来安装部署TFS(tensorflow serving),但实际测试时发现当有高并发请求时,容易崩溃,为了排除问题,我们选择从源码编译,在安装之前,我们要统一版本,否则会出现各种坑。首先根据自己服务器上已经安装的cuda和cudnn版本,选择要安装哪个版本的tensorflow,并对应安装同样版本的tensorflow serving,比如...2019-10-18 10:56:541096
0
-
转载 linux下用Kazam录屏视频在windows不能播放解决
原文章:http://blog.csdn.net/qq_31806429/article/details/78832902描述之前在ubuntu上记录一些东西,但是转而在windows就不能播放,查了一下资料说是解码器的问题。大概也有网友遇到类似问题,那就分享一下吧!解决 1. windows上下载安装软件HandBrake (点这里) 2. 打开之后点击 Open Source,添加需要处理的视...2018-03-03 13:35:163584
0
-
原创 Ubuntu下OpenCV环境配置
参考:https://blog.csdn.net/zhangping1987/article/details/38701477首先将OpenCV的库添加到路径,从而可以让系统找到sudo gedit /etc/ld.so.conf.d/opencv.conf 执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加/usr/local/lib 然后保存退出,...2018-05-21 16:20:1311994
0
-
原创 Ubuntu之NTP服务器与客户端时间同步
参考:https://blog.csdn.net/doyzfly/article/details/144527090 背景在局域网环境下,嵌入式终端的时间容易出现错乱,因此,设置一个时间同步服务器,让局域网内的客户端自动与服务器时间同步1修改时区如果是有一块新板子,时区设置默认使用UTC国际标准时区,我们需要修改为CST北京时间的时区首先输入date查看自己的时间时区,可以看到...2019-05-31 11:11:354378
0
-
转载 C++静态链接库与动态链接库理解
原文:https://www.cnblogs.com/skynet/p/3372855.html看到一篇介绍静态链接库和动态链接库的文章,写的太好了,遂转载过来分享一下。这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。...2019-06-06 14:58:25439
0
-
原创 dpkg: error processing package xxx解决方案
在用apt安装东西时,报错如下nvidia@tegra-ubuntu:~/ffmpeg$ sudo apt-get install git[sudo] password for nvidia: Reading package lists... DoneBuilding dependency tree Reading state information... Donegi...2019-06-03 09:50:334548
0
-
原创 Ubuntu更换apt源之arm版
参考:https://blog.csdn.net/jipingyuan/article/details/71123039在linux上开发时,更换apt源是很常规的操作,如果对源的理解不透彻,更换不成功后都不知道是什么原因,就是换着瞎碰,因此决定对换源的操作进行研究1 源格式ubuntu源语句格式如下deb http://mirrors.tuna.tsinghua.edu.cn/...2019-06-03 17:41:476374
3
-
原创 TX2之WDT看门狗测试程序
参考:https://developer.toradex.cn/knowledge-base/watchdog-(linux)1 背景看门狗,又叫watchdog timer,是一个定时器电路,一般有一个输入,叫喂狗(kicking the dog/service the dog),一个输出到MCU的RST端,MCU正常工作的时候,每隔一段时间输出一个信号到喂狗端,给 WDT清零,如果超过...2019-06-17 16:02:041212
1
-
转载 Python之子进程subprocess模块
参考:https://www.cnblogs.com/breezey/p/6673901.html1 背景在用python编程时,我们经常会需要调用外部命令,比如用ffmpeg将rtsp码流保存为mp4视频,我们可以在终端使用如下指令ffmpeg -rtsp_transport tcp -i rtsp://***/h264/ch1/main/av_stream -c copy -f ...2019-06-24 10:57:43462
0
-
原创 Ubuntu之搭建nginx图片服务器
参考:https://blog.csdn.net/xingbake111/article/details/894890320 背景客户端访问服务器端图片时,需要在服务器端部署图片服务器,本文采用nginx的方案1 安装nginx建议采用源码安装nginx,这样配置文件比较全,如果使用apt-get安装过nginx,建议先卸载掉,卸载方式如下#su到超级用户rm -rf /e...2019-07-15 15:09:391758
0
-
原创 Linux之配置samba服务实现文件夹共享
参考:https://www.linuxidc.com/Linux/2017-11/148194.htm0 背景在用linux系统做开发时,很多时候是没有显示桌面系统条件的,比如说将NVIDIA TX2用在机器人等环境下,虽然可以用xshell连接修改代码,但对文件的操作还是不太方便。而在服务器上常用的一种操作是安装samba服务远程查看文件夹,因此将这种思路应用在TX2上,实现windo...2019-08-12 18:30:041259
0
-
原创 海康摄像头之FTP服务器搭建及使用
0 背景海康的网络摄像头具有FTP功能,将所需的图片如报警图片传输到FTP服务器,这样实现服务端自动保存视频文件和图片文件,因此本文对该功能的实现过程做一介绍。1 FTP服务器搭建FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Protocol(文件传...2019-09-19 16:09:1312604
3
-
原创 vscode之远程代码编辑调试
1 背景做嵌入式linux开发,经常会用到xshell来远程连接编辑调试代码,修改代码用vim或gedit等文本编辑器,开发效率比较低。有时候会用FTP等工具将代码拷贝到本机,用IDE打开编辑,修改完之后再拷贝回去,无疑增加了工作量。幸运的是有很多开发工具支持远程编辑,我们今天介绍的vscode就是其中一种。本地环境:Windows 远程环境:ubuntu 16.042 本地配置2...2019-05-15 11:04:1112181
4
-
原创 OpenCV之findContours获取轮廓(Python版)
参考:https://blog.csdn.net/loovelj/article/details/78739790OpenCV自带寻找轮廓的函数,流程是:获取灰度图→图片二值化→寻找轮廓直接上代码(Python版)import cv2img = cv2.imread('12.jpeg')gray = cv2.cvtColor ( img , cv2.COLOR_BGR2GRAY...2018-07-31 19:20:5516557
2
-
原创 搭建USB摄像头转RTSP服务器的多种方法
1 背景USB摄像头与网络摄像头相比,可选择范围广、种类多、成本低,但是实际使用时需要通过rtsp流来访问,起到直播的效果,因此在摄像头采集终端上构建rtsp流媒体服务器,将USB摄像头数据转化为rtsp,可以多个客户端访问,在做相关调研时,找到有三种实现方式,分别是ffmpeg(ffserver)、vlc、live555,接下来对这几种方式的实现方法做具体介绍,最后对各种方式的优缺点进行一个...2019-03-13 21:11:0710509
9
-
原创 Linux之后台执行命令:nohup和&的使用
作用nohup 是 no hungup的缩写,以为“不挂断”,我们在使用Xshell等工具执行Linux脚本时,有时候会由于网络问题,导致失去连接,终端断开,程序运行一半就意外结束了。这种时候,就可以用nohup指令来运行指令,使程序可以忽略挂起信号继续运行。语法nohup Command [ Arg ... ] [ & ]nohup 命令运行由 Command参数和任何...2018-08-15 14:55:0210645
2
-
原创 解决Past duration X.XXXX too large警告
参考:https://stackoverflow.com/questions/30782771/what-does-past-duration-x-xxx-too-large-mean在用ffmpeg做解码,将rtsp视频流转为rtmp流推流时,出现很多黄色的警告如下:Past duration 0.603386 too largePast duration 0.614372 too ...2018-08-05 15:08:547700
0
-
原创 XShell使用方法小结
参考:http://www.cnblogs.com/xialei893/p/3573532.htmlXShell是一款Windows下非常优秀的远程连接Linux主机的工具,是平常使用不可缺少的工具。现将常用的指令总结如下:复制粘贴由于在linux的Shell下,Ctrl+c是中断当前指令,这个快捷键和win系统下的复制快捷键冲突,在Xshell中,提供了其它的快捷键来执行这些操作:...2018-07-25 16:35:171530
0
-
转载 Linux之g++编译C++程序
参考:https://blog.csdn.net/qq_28598203/article/details/52911007C++编程中相关文件后缀:使用示例g++ source_file.cpp -o outputfile -L/path/to/lib -lxxx -I/path/to/include 其中:-l, 指定所使用到的函数库,本例中链接器会尝试链接名为lib...2018-05-11 11:53:552405
0
-
转载 Linux之find使用方法总结
参考:https://jingyan.baidu.com/article/636f38bb6e0bdad6b846103e.html在用linux系统时,经常要用到find指令查找相关文件位置,因此对该指令进行总结命令格式find [搜索范围] [匹配条件]其中,匹配条件包括如下: -name 根据名字查找 -size 根据文件大小查找, +,-:大于设置...2018-07-23 20:21:41507
0
-
原创 NVIDIA查看CPU、内存、GPU使用情况
1 TX2查看方法内存free -m系统内核uname -aCPU信息lscpuUSB设备lsusbCPU占用情况sudo apt-get install htophtopGPU使用情况sudo ~/tegrastats会输出如下所示的内容,注意一定要加sudo,否则输出的信息不完整RAM 1920/7851MB (lfb 1...2018-05-10 15:09:4830758
18
-
转载 Python之Socket自动重连
问题描述现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)需要自动重连。测试服务器示例代码:https://github.com/mike-zhang/pyExamples/blob/master/socketRelate/tcpServer1_multithread.py解决方案'''tcp client with reconnectE-Mail...2017-12-15 11:16:016440
0
-
原创 Python之TCP Socket网络编程
0 背景Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。要解决网络上两台主机之间的进程通信问题,首先要唯一标识该进程,在 TCP/IP 网络协议中,就是通过IP地址、协议、端口号三元组来标识进程的,解决了进程标识问...2017-12-14 11:52:012487
0
-
转载 gnome-terminal使用
参考:http://blog.csdn.net/swust_long/article/details/7285147[基本用法]gnome-terminal命令用于打开一个新的终端,直接在命令行$ gnome-terminal就可以打开一个新的终端,有一些常用参数:打开后自动最大化$ gnome-terminal --maximize打开后全屏$ gnome-...2017-11-24 11:52:1122143
3
-
转载 TX2上电自动开机
参考:http://121.42.13.250/?p=168问题描述Jetson TX2在接通电源后,按下板子上的PWOER BTN开机键(S4)后,便能够正常启动。但这对于一个嵌入式设备来说非常的不方便,总不能每次都拆开机器去按一下板子上的开机键吧。当然我们可以将这个开机键引出接到机器外壳上,但是我们更希望TX2能够在通电后自动开机。解决方法将板子上J27附近的R313焊上0R电...2017-11-21 20:37:513815
0