- 2、获取占用内存资源最多的10个进程
- ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head -10
- ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -1
- ps aux | head -1; ps aux | grep -v PID | sort -rn -k +4 | head -1
- cat /proc/PID/status | grep VmRSS
(1). pmap -d $pid
$pid 是正在运行的程序的pid
(2). cat /proc/$pid/smaps
smaps的数据比较详细,可简单的归纳一下,归纳的命令如下:
cat /proc/$pid/smaps | awk ‘/Size|Rss|Pss|Shared|Private|Referenced|Swap/{valname=gensub(/([a-zA-Z])./,”\1”,1,$1); list[val_name]+=$2; }END{for(val in list)print val,list[val];}’
(3). cat /proc/$pid/maps
(4). cat /proc/$pid/statm
输出解释
第一列 size:任务虚拟地址空间大小
第二列 Resident:正在使用的物理内存大小
第三列 Shared:共享页数
第四列 Trs:程序所拥有的可执行虚拟内存大小
第五列 Lrs:被映像倒任务的虚拟内存空间的库的大小
第六列 Drs:程序数据段和用户态的栈的大小
第七列 dt:脏页数量
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -10
root@raspberry:~# ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 780 7.5 0.2 894344 5216 ? Ssl 16:10 0:02 /opt/bin/BMW_SDK_TOOL
root 800 6.6 0.9 554060 18940 ? Sl 16:10 0:02 /opt/bin/BmwPe
MIPS 估算是采用树莓派4的总MIPS(约5000)乘以CPU占用率获得。
查看软件的ROM,定位到/opt/bin/路径,采用命令ls -alh 获取程序的大小。
在设备中连续刷写10此软件的操作步骤:
Ø 将被测软件的刷写包下载到树莓派的/tmp/文件夹下面
Ø 在命令窗口输入:
Ø tar -xzvf /tmp/ 07_31_develop_develop_10Hz_64bit_XPad_release.tar.gz -C/
Ø systemctl restart rs
Ø systemctl restart pe
Ø Cd /opt/log/LeLog/
Ø ls
Ø 定位到最新的文件夹
Ø cd 日期最新的文件夹
Ø ls 后出现 qx_ids_rtk.log.0
Ø grep PTC qx_ids_rtk.log.0
Ø 出现软件版本后说明软件刷写成功。
采用实验室设备采集数据的方法步骤:
1. ssh pi@30.90.2.146 //30.90.2.146时目前已有的设备
2. yes
3. 输入password: qxwz818
4. Ls
5. 输入 ps -ef //查看设备线程
6. 输入 ps -ef | grep Bmw //采用过滤的方式查找文件
7. 查到设备的信息
root 879 1 0 Jul14 ? 00:00:00 /bin/bash -e /opt/bin/BmwPe.sh
root 883 879 99 Jul14 ? 17:21:18 /opt/bin/BmwPe
pi 3760 3747 0 10:26 pts/0 00:00:00 grep Bm是-
8. 根据上述信息,获知设备的地址883,采用命令cat /proc/883/status
可以获得设备运行中的相关信息。其中内存信息是:VmRSS: 61420 kB
pi@raspberry:~$ sudo -i 切换为管理员权限
[sudo] password for pi: 输入密码qxwz818
root@raspberry:~# systemctl stop rs 把rs停掉(RequirementSystem,为树莓派给PE发数据用的,停掉rs,可以保证给PE灌输据的程序停止,相当于静态观察PE的运行是的RAM)
root@raspberry:~# ps -ef (查看PE程序的线程地址,需要检查的是
root 719 715 25 10:29 ? 00:12:43 /opt/bin/BmwPe, 从反馈结果来看,BMW的地址是719)获取完成静态的RAM后再次获取动态的RAM,每次停掉线程后重启,线程有可能发生改变,需要重新采用ps -ef获取线程后进行操作
root@raspberry:~# ps -ef|grep B 如果线程过多,可以采用加上|grep B(B为关键字,过滤作用)
root@raspberry:~#cat /proc/719/status 观察719设备的内存RAM等信息。
root@raspberry:~# systemctl start rs 重新开启rs
root@raspberry:~# systemctl start pe 重新开启pe
root@raspberry:~#cat /proc/719/status
二. 如何更新设备中的软件
设备中是树莓派电脑,通过SSH联网成功,可以通过本地命令控制树莓派上的设备,例如下载软件,解压软件,启动程序,停止程序。
Ø 通过ssh pi@30.90.2.188进入设备
Ø 输入密码qxwz818 命令行显示pi@raspberry:
Ø 切换管理员权限sudo -i提时输入密码
Ø 输入密码qxwz818 命令行显示 roots@raspberry:~#
Ø 输入oss再按tab键,会跳出默认命令ossutilarm64输入需要更新的软件网址 其中cp为复制的意思
ossutilarm64 cp oss://bmw-gnss/Release/07_23_develop_develop_10Hz_64bit_XPad_release.tar.gz /tmp/
Ø 输入ls
Ø 输入cd/tmp/
Ø 输入ls
Ø 解压缩复制好的文
Ø 输入:sync 刷新一下,作用同F5
Ø 输入 cd opt 切换
备注:实验室和车载设备密码:qxwz818
从设备中将数据压缩后上传到网络:
在命令中输入pi@raspberry:~$ QX (徐琪开发的脚本,可以将log压缩)
如果出现压缩失败,可能是因为数据太多,没有空间,需要将其他不需要的文件删除后再次压缩,采用ls -al 查看所有文件。然后,采用cd /opt定位到opt文件夹。
再次定位到cd log文件夹,采用 df -h 查看磁盘情况。完成后再次输入ls显示如下:
pi@raspberry:/opt/log$ ls
20200724_090758.pe.log 20200724_090758.rs.log PeLog RsLog corelog tree.txt
定位到var文件夹 输入cd /var/
pi@raspberry:/opt/log$ cd /var/
pi@raspberry:/var$ ls
backups cache lib local lock log mail opt run spool tmp
pi@raspberry:/var$ cd log
pi@raspberry:/var/log$ ls
输入rm syslog 删除syslog 如果删除失败,可能因为没有管理员权限,先采用下面语句开通管理员权限。
Sudo -i
pi@raspberry:/var/log$ sudo -i
root@raspberry:~# cd /var/
root@raspberry:/var# ls
backups cache lib local lock log mail opt run spool tmp
root@raspberry:/var# cd log
root@raspberry:/var/log# ls
alternatives.log daemon.log.1 kern.log syslog.1
alternatives.log.1 daemon.log.2.gz kern.log.1 syslog.2.gz
alternatives.log.2.gz daemon.log.3.gz kern.log.2.gz syslog.3.gz
apt daemon.log.4.gz kern.log.3.gz syslog.4.gz
auth.log debug kern.log.4.gz syslog.5.gz
auth.log.1 debug.1 lastlog syslog.6.gz
auth.log.2.gz debug.2.gz messages syslog.7.gz
auth.log.3.gz debug.3.gz messages.1 user.log
auth.log.4.gz debug.4.gz messages.2.gz user.log.1
bootstrap.log dpkg.log messages.3.gz user.log.2.gz
btmp dpkg.log.1 messages.4.gz wtmp
btmp.1 dpkg.log.2.gz ntpstats wtmp.1
daemon.log faillog syslog
root@raspberry:/var/log# rm syslog
root@raspberry:/var/log# ls
在pi@raspberry:/var/log$ QX 采用脚本自动压缩数据,压缩完成后脚本会显示
压缩完成,日志在:/home/pi/log/20200724_090727.tar.gz
采用python命令可以获取树莓派的IP地址:
pi@raspberry:~$ cd log
pi@raspberry:~/log$ ls
20200724_090727.pe.log 20200724_090727.rs.log 20200724_090727.tar.gz
pi@raspberry:~/log$ python -m SimpleHTTPServer 9000
Serving HTTP on 0.0.0.0 port 9000 …
30.90.6.104 - - [24/Jul/2020 10:27:50] “GET / HTTP/1.1” 200
然后再本地电脑访问对应地址即可复制相关数据。
*获取占用CPU资源最多的10
# ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | head -10
如果获取树莓派4上的的BmwPe程序,可以进一步定位:
ps aux | head -1; ps aux | grep -v PID | sort -rn -k +3 | grep BmwPe