系统类命令


看linux版本

cat /etc/redhat-release

 

cpu 信息

cat /proc/cpuinfo

 

示机器的理器架

arch

uname -m

 

示内核的版本

cat /proc/version

 

示已入系的模

lsmod 

 

看系IO

iostat

 

看磁内存

df -h

 

看内存占用

top

 

示当前文件下 Top 10 空占用的文件/目

s 表示不个子目或文件的大小

h 表示用更加自然的方式示(比如 K/M/G 这样

du -sh * | sort -nr | head

 

内存占用

free -m

 

内存占用

**top**

 

shift+e 切占用

top - 11:51:09 up 3 days, 21:50,  3 users,  load average: 0.00, 0.01, 0.05

Tasks: 111 total,   2 running, 109 sleeping,   0 stopped,0 zombie

%Cpu(s):  0.3 us,0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,0.0 hi,  0.0 si,  0.0 st

GiB Mem :      1.8 total,      0.1 free,      1.0 used,      0.7 buff/cache

GiB Swap:      2.0 total,      2.0 free,      0.0 used.      0.6 avail Mem

 

第一行:系统时间时间、登录终端数、系统负载

第二行:数、行中的程数、睡眠中的程数、停止的程数、死的程数。

第三行:用占用源百分比、系内核占用源百分比、改变过优源百分比、空源百分比等。99.7 id意味着99.7%的cpu空

第四行:物理内存量、内存使用量、内存空量、作内核存的内存量。

第五行:虚内存量、虚内存使用量、虚内存空量、已被提前加的内存量

 

 

怎么查看某个Java程里面占用CPU最高的一个线程具体信息?

 

程中占用CPU最高的线程,计为n。

 

使用top top -H -p pid,肉眼察之

 

使用ps  ps -mo spid,lwp,stime,time,%cpu -p pid

 

线程号化成十六制printf 0x%x n

 

使用jstack到相应进程,打印线程后的100行信息 jstack -l pid| grep spid -A 100

 

统计每种的数量

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n -k 1 -r

首先使用netstat看列表,使用’awk’取第六列,使用uniq统计,并对统计结果排序。当然,也可以这样

netstat -ant | awk '{arr[$6]++}END{for(i in arr){print arr[i]" "i }}' | sort -n -k 1 -r

和“分析apache日志,出当日访问ip的降序列表”是一问题