1. 版本1.9, 修复问题1)日志线程修改为1个线程,退出时回收线程资源;2)日志文件命名线程和日志写入线程对log_path存在访问冲突,导致日志文件创建位置存在不对的可能。3)common.c为daemon和so共同使用的日志线程写入的函数,提取出来方便维护
git-svn-id: http://172.17.0.253/svn/soft_pkgs/sys_nicmonitor@1415 09c3743a-b0dd-45d3-b506-aa74c7a2a6ef
This commit is contained in:
90
code/trunk/sys_nicmonitor/README
Normal file
90
code/trunk/sys_nicmonitor/README
Normal file
@@ -0,0 +1,90 @@
|
||||
=========
|
||||
编译前准备:
|
||||
编译前先安装dotconf软件包。
|
||||
libman.so拷贝到/usr/lib64/下
|
||||
pkgadd dotconf#1.0.13-1.pkg.tar.gz
|
||||
|
||||
编译说明:
|
||||
在Rocky 4.2上编译
|
||||
|
||||
执行: sh build.sh
|
||||
将在当前的目录下生成安装包:
|
||||
sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz
|
||||
|
||||
========
|
||||
安装说明:
|
||||
1)安装,以root的用户执行安装命令:
|
||||
pkgadd sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz
|
||||
如果之前已经安装,则可先卸载旧的然后再安装,或者通过更新方式安装
|
||||
卸载命令: pkgrm sys_nicmonitor
|
||||
更新方式安装命令:
|
||||
pkgadd -u sys_nicmonitor#1.9-x86_64-Linx-Rocky4.2.pkg.tar.gz
|
||||
|
||||
2)查看安装是否成功
|
||||
pkginfo -i|grep sys_nicmonitor
|
||||
或者
|
||||
查看d5000用户的目录下lib/libnic_shm.so和bin/sys_nicmonitor的日期是否匹配
|
||||
|
||||
========
|
||||
|
||||
版本说明:
|
||||
--V1.9 --
|
||||
2013-08-12
|
||||
1)修复问题:占用内存快速累加,导致内存占用很大
|
||||
问题描述:日志线程资源退出时未回收,导致占用内存快速累加
|
||||
解决办法:修改为一个日志线程,并且线程退出时设置为自动回收。
|
||||
将日志写文件的地方放到common.c中,以便动态库和daemon程序使用一个。
|
||||
|
||||
2)修复问题:日志文件名在家目录或者var目录下,未在规定位置
|
||||
问题描述:日志文件命名在一个单独的线程进行,导致日志线程和该线程对log_path存在同时访问的情况。
|
||||
导致在换天或者换月时,日志文件名变更一半时,日志写线程此时写日志,用未更新完成的
|
||||
log_path创建日志,导致日志文件不再规定的位置。
|
||||
解决办法:增加线程互斥锁pthread_mutex对log_path进行保护,修复该问题。
|
||||
|
||||
|
||||
--V1.8.1--
|
||||
2013-06-05
|
||||
1)修改BUG:ping_gw函数当PING失败时没有尝试对余下的GW进行PING操作
|
||||
2)增加环境变量SYS_NIC_DEBUG用于调试流量抖动问题。
|
||||
|
||||
--V1.8 --
|
||||
2013-05-27
|
||||
对系统高磁盘IO情况下,应用如果进行IO将可能会被阻塞。本版本为此作出调整。
|
||||
cs-fes1上编译测试OK。
|
||||
|
||||
1) 去掉shm和sem的实体文件
|
||||
#define SHM_PATH "$D5000_HOME/share/sys_netcard_shm_path"
|
||||
#define SEM_PATH "$D5000_HOME/share/sys_netcard_sem_path"
|
||||
|
||||
用key=0x1d5200 代替 sem
|
||||
用key=0x1d5010 代替 shm
|
||||
|
||||
|
||||
2)去掉动态库中get_nic_info接口中,判断路径的opendir调用,采用实际路径
|
||||
上层应用每秒可能调用3次这个接口,每判断一个网卡都调用一次,判断都个网卡的状态时就调用多次。
|
||||
|
||||
可改进:一次调用get_nic_info接口,可输入多个网卡,一次返回所有网卡状态信息。
|
||||
|
||||
3) record_log函数为日志函数,每次写一次,都重新打开一次文件。
|
||||
修改为线程模式,当记录日志时,不会被磁盘IO阻塞。
|
||||
|
||||
4) 安装目录为d5000用户的HOME目录下的lib和bin目录
|
||||
|
||||
----
|
||||
|
||||
|
||||
V1.6与V1.7差异
|
||||
共享内存路径修改:
|
||||
由/home/d5000/someone/tmp/sys_netcard_shm_path 改为 /home/d5000/someone/share/sys_netcard_shm_path
|
||||
信号量路径修改:
|
||||
由/home/d5000/someone/tmp/sys_netcard_sem_path 改为 /home/d5000/someone/share/sys_netcard_sem_path
|
||||
|
||||
注意:在编译过程中,需要动态看libman.so,它存放在目录 tags/下面 ,在进行编译的时候需要将其拷贝到
|
||||
/lib64/目录下,编译的基础环境是 Rocky 4.2 系统。
|
||||
|
||||
pkgmk命令的使用:
|
||||
将源代码打包成name-version.tar.gz样式,编写Pkgfile文件。
|
||||
使用命令:
|
||||
pkgmk -um #更新软件包的md5值
|
||||
pkgmk -kw #制作pkg安装包
|
||||
|
||||
Reference in New Issue
Block a user