Linux下查看某程序cpu,men占用情况并以日期输出为文件
1. 查看内存
top -n 1 -b
2. 将java和init的cpu和mem占用情况筛选出来
top -n 1 -b |grep -E "java|init" or top -n 1 -b |egrep "java|init"
3. 将筛选出的信息保存到文件中
top -n 1 -b |grep -E "java|init" >top_monitor.txt
文件内容如下:
4. 仅截取出有用的cup和mem字段信息,发现列之间的分隔符不一致,有3到5个不等的空格,无法直接用cut切割
使用tr -s 替换多个空格为1个空格
top -n 1 -b |grep -E "java|init" |tr -s " " > top_monitor.txt
文件内容如下:
可以使用cut来切割cup和mem信息了:
top -n 1 -b |grep -E "java|init" |tr -s " "| cut -f 9,10 > cpu_mem.txt
5.用当前时间为名称保存文件
top -n 1 -b | grep -E "java|init" | tr -s " " | cut -f 9,10 -d " " >> cup_mem$(date -d "today" +"%Y%m%d_%H%M%S").txt
于是就生成以cup_mem20140604_172648.txt为名称的文件了
存在问题:如何去掉行首的空格??