`
cavajtennis
  • 浏览: 27006 次
社区版块
存档分类
最新评论

Linux 常用命令

阅读更多
1、查看端口使用
通用查看:
netstat -aptn

netstat -apn | grep 1080

查看进程使用情况
ps -aux | grep java,或者直接:ps -aux | grep pid 查看


查看一个进程的详细情况:
ps -ef | grep PID

2、命令行查找:
find . -name "*.xml" | xargs grep "<table"
  
find . -name "*.xml" | wc -l

3、查看文件的大小:
du -h --max-depth=1 work/testing/*
df -h 机器硬盘分布情况

4、jps


5、查看内存以及cpu的使用情况:
top: http://www.51testing.com/html/32/n-823532.html
  P:按%CPU使用率排行
  T:按MITE+排行
  M:按%MEM排行

显示java进程内存使用的相关信息
jmap pid #打印内存使用的摘要信息
jmap –heap pid #java heap信息
jmap -histo:live pid #统计对象count ,live表示在使用
jmap -histo pid >mem.txt #打印比较简单的各个有多少个对象占了多少内存的信息,一般重定向的文件
jmap -dump:format=b,file=mem.dat pid #将内存使用的详细情况输出到mem.dat 文件

2、命令格式
SYNOPSIS
       jmap [ option ] pid
       jmap [ option ] executable core
       jmap [ option ] [server-id@]remote-hostname-or-IP
3、参数说明
1)、options:
[/b]executable Java executable from which the core dump was produced.
(可能是产生core dump的java可执行程序)
core 将被打印信息的core dump文件
remote-hostname-or-IP 远程debug服务的主机名或ip
server-id 唯一id,假如一台主机上多个远程debug服务
2)、基本参数:
-dump:[live,]format=b,file=<filename> 使用hprof二进制形式,输出jvm的heap内容到文件=. live子选项是可选的,假如指定live选项,那么只输出活的对象到文件.
-finalizerinfo 打印正等候回收的对象的信息.
-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情况.
-histo[:live] 打印每个class的实例数目,内存占用,类全名信息. VM的内部类名字开头会加上前缀”*”. 如果live子参数加上后,只统计活的对象数量.
-permstat 打印classload和jvm heap长久层的信息. 包含每个classloader的名字,活泼性,地址,父classloader和加载的class数量. 另外,内部String的数量和占用内存数也会打印出来.
-F 强迫.在pid没有相应的时候使用-dump或者-histo参数. 在这个模式下,live子参数无效.
-h | -help 打印辅助信息
-J 传递参数给jmap启动的jvm.
pid 需要被打印配相信息的java进程id,创业与打工的区别 - 博文预览,可以用jps查问.
4、使用示例
1)、[fenglb@ccbu-156-5 ~]$ jmap -histo 4939
[输出较多这里不贴了]
2)、[fenglb@ccbu-156-5 ~]$ jmap -dump:format=b,file=test.bin 4939
Dumping heap to /home/fenglb/test.bin ...
Heap dump file created



jstat
jstat -class pid:显示加载class的数量,以及所占空间等信息
jstat -compiler pid:显示vm实时编译的数量
jstat -gc pid:可以显示gc的信息,查看gc的次数,以及时间,最后五项,分别是full gc和young gc次数
jstat -gccapacity:显示vm内存中三代对象的使用和占用大小
jstat -gcnew pid :new对象的信息
jstat -gcnewcapaicty pid :new对象的信息及其占用量

free

pmap

cat /proc/meminfo

ps auxw --sort=%mem

查看机器的cpu信息:
grep 'model name' /proc/cpuinfo

查看CPU信息(型号)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      8  Intel(R) Xeon(R) CPU            E5410   @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)

# cat /proc/cpuinfo | grep physical | uniq -c
      4 physical id      : 0
      4 physical id      : 1
(说明实际上是两颗4核的CPU)
PS:Jay added on 10th, May, 2011
# 其实是可能有超线程HT技术,不一定是有4核,也可能是2核4线程;当时还理解不清楚

# getconf LONG_BIT
   32
(说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit)

# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
   8
(结果大于0, 说明支持64bit计算. lm指long mode, 支持lm则是64bit)


再完整看cpu详细信息, 不过大部分我们都不关心而已.
# dmidecode | grep 'Processor Information'

查看内 存信息
# cat /proc/meminfo

# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)

# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)

查看机器型号
# dmidecode | grep "Product Name" 

查看网卡信息
# dmesg | grep -i eth


PS:命令还是需要多用才能熟练,长时间不用会慢慢生疏

dpkg命令常用格式如下:
sudo dpkg -I iptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于--info)
sudo dpkg -c iptux.deb#查看iptux.deb软件包中包含的文件结构(其中-c等价于--contents)
sudo dpkg -i iptux.deb#安装iptux.deb软件包(其中-i等价于--install)
sudo dpkg -l iptux#查看iptux软件包的信息(软件名称可通过dpkg -I命令查看,其中-l等价于--list)
sudo dpkg -L iptux#查看iptux软件包安装的所有文件(软件名称可通过dpkg -I命令查看,其中-L等价于--listfiles)
sudo dpkg -s iptux#查看iptux软件包的详细信息(软件名称可通过dpkg -I命令查看,其中-s等价于--status)
sudo dpkg -r iptux#卸载iptux软件包(软件名称可通过dpkg -I命令查看,其中-r等价于--remove)
注:dpkg命令无法自动解决依赖关系。如果安装的deb包存在依赖包,则应避免使用此命令,或者按照依赖关系顺序安装依赖

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics