• 命令--常用命令(整理)(系统分析)


    (pmap -x 1437:查看mysql进程1437的信息,获取用户进程的逻辑地址空间中映射的内存信息)
    (cat /proc/vmallocinfo | grep -v "ioremap" | awk '{print $2}' | paste -s -d "+" | bc:统计VmallocUsed中除ioremap外的物理内存使用量)
    (echo "(" $(cat  /proc/vmallocinfo | grep -v "ioremap" | awk '{print $2}' | paste -s -d "+") ")  /  1024" | bc:除以1024的结果)
    (cat /proc/slabinfo:查看slab的信息)
    (cat /proc/vmallocinfo:VmallocUsed包含的内存区域)
    (ps -f --ppid 2 -p 2:查找 kthreadd 的子进程,2 号进程为 kthreadd 进程,在内核态运行,用来管理内核线程)
    (ps -ef | grep "[.*]":查找名称包含中括号的进程)
    (ps -ef | grep test | grep -v grep | awk '{print $2}' | xargs kill -9 :批量杀掉进程)
    (ps -ef | grep test | grep -v grep | awk '{print "kill -9 "$2}':批量杀掉进程)
    (ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9:批量杀掉僵尸进程)
    (ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]':查找僵尸进程) 
    (ps -ef | grep defunct:查看僵尸进程)
    (ps -ef|grep mysql:查询PID号)
    (ps aux | grep softirq:查看线程的运行状况)
    (ps -C nginx --no-header |wc -l:统计nginx有几个线程,--no-header代表不显示第一行标题)
    (ps  -aux  -lax)
    (ps -ef | grep 'svn')
    (ps  :静态显示进程)
    (ps -eLf  | grep mysql |wc -l :监控mysql使用了多少进程)
    (ps -U root -u root -N:查看非系统进程)
    (ps -ef |grep crond|grep -v grep |awk '{print $2}':取出crond的进程号:9737)
    (ps -ejH:列出进程树)
    (ps -axjf:列出进程树)
    (ps -eLf:获得线程信息)
    (ps axms:获得线程信息)
    (ps -eo euser,ruser,suser,fuser,f,comm,label:获得安全信息)
    (ps axZ:获得安全信息)
    (ps -eM:获得安全信息)
    (ps -efT | grep 514:根据线程号514,查出它属于哪个进程)
    (pstree -p:列出每个程序pid)
    (pstree -u:列出每个账号名称)
    (mpstat -P ALL  和  sar -P ALL)
    (mpstat -P ALL 1:多核cpu查看)
    (mpstat  1 10 :查看cpu资源)
    (mpstat  -P  0 1 :查看0号cpu使用情况,)
    (mpstat  -P  1 1 :查看1号cpu使用情况,)
    (mpstat  -P ALL 5 1:显示所有 CPU 的指标,并在间隔 5 秒输出一组数据,-P ALL 表示监控所有 CPU)
    (pidstat -p 97203:查看cpu使用情况)
    (pidstat -u 5 1:间隔 5 秒后输出一组数据,-u 表示 CPU 指标)
    (pidstat -w 5:每隔 5 秒输出 1 组数据,查看每个进程的使用情况)
    (pidstat -w -u 1: -w 参数表示输出进程切换指标,而 -u 参数则表示输出 CPU 使用指标)
    (pidstat -wt 1:-wt 参数表示输出线程的上下文切换指标)
    (pidstat -d -p 4344 1 3: -d 展示 I/O 统计数据,-p 指定进程号,间隔 1 秒输出 3 组数据)
    (pidstat -d -p 4327 1 3:根据top查出来导致io升高并且显示是D状态的进程号是4327,所以这里用4327这个进程号分析)
    (pidstat -d 1 20:查看所有进程的I/O使用情况)
    (pidstat -d 1 :使用 pidstat 加上 -d 参数,就可以显示每个进程的 I/O 情况)
    (pidstat -wut -p 1997 1:指定进程号为1997,显示上下文切换及cpu使用率情况)
    (pidstat  -t :开启线程选项)
    (pidstat中cswch:表示每秒自愿上下文切换(voluntary context switches)的次数)
    (pidstat中nvcswch:表示每秒非自愿上下文切换(non voluntary  context switches)的次数。)
    (pidstat -wut -p XX 1:检测是哪个线程占用了cpu)
    (perf  top -p 5801:指定进程号)
    (perf  top:实时显示占用 CPU 时钟最多的函数或者指令)
    (perf  record -g:记录占用 CPU 时钟最多的函数或者指令,当前目录生成perf.data文件)
    (perf  report :调用perf.data文件,输出显示信息)
    (perf  report -g -p 1997:指定进程号为1997的应用程序,输出perf.data文件信息)
    (watch -d cat /proc/softirqs:watch定期执行某个命令来分析)
    (watch -d cat /proc/softirqs: -d 参数,可以高亮显示出软中断变化部分)
    (watch -d cat /proc/interrupts:系统中断查看,-d 参数表示高亮显示变化的区域)
    (watch -d cat /proc/interrupts: TIMER(定时中断)、NET_RX(网络接收)、SCHED(内核调度)、RCU(RCU 锁)不停变化。)
    (watch -d uptime:查看系统平均负载变化)
    (watch -d cat /proc/stat:查看cpu状态信息)
    (sar -n DEV 1:-n DEV 表示显示网络收发的报告,间隔 1 秒输出一组数据)
    (sar -q 1 5:查看总cpu负载 )
    (sar  -P  ALL  1:查看每个cpu负载)
    (sar -b 1 10:查看当前磁盘IO 读写)
    (uptime:查看cpu负载,及系统运行总时长)
    (vmstat -w -a:查看分别有多少内存被认为是活动和非活动状态)
    (vmstat -w 1 10:系统负载状态)
    (vmstat -w  -n 1 5:查看io、及cpu使用)
    (vmstat -w 1)
    (dstat 1 10: 间隔 1 秒输出 10 组数据,查看 CPU 和 I/O 的使用情况)
    (dstat –output /tmp/sampleoutput.csv -cdn:输出到sampleoutput.csv 文件里面)
    (dstat -g -l -m -s --top-mem :显示内存谁在占用)
    (dstat -c -y -l --proc-count --top-cpu:CPU资源损耗的数据)
    (dstat --list:列出可用参数)
    (dstat  -pidsta:查看系统信息)
    (dstat  -vmsta:查看系统信息)
    (dstat  -iosta:查看系统信息)
    (dstat  -mpsta:查看系统信息)
    (dstat --aio --io --disk --tcp --top-io-adv --top-bio-adv  --top-bio-adv:查看系统性能,可以看出是哪个进程占用高)
    (dstat -tcndylp  --top-cpu:相当于--time --cpu --net --disk --sys --load --proc --top-cpu)
    (dstat --aio --io --disk --tcp --top-io-adv --top-bio-adv  --top-mem)
    (dstat --io --aio --disk --top-io-adv  --top-bio-adv --top-mem 1 5)
    (dstat -cmdlnsyp:基本查看)
    (dstat -f 1  5:查看每个磁盘分区情况)
    (dstat -o 1 5:查看cpu磁盘网络情况)
    (dstat -v 1 5:查看内存cpu磁盘情况)
    (dstat -acdfgilmnoprstvy :所有可以执行的参数)
    (dstat -tcyif:查看所有信息)
    (atop -dl:查看性能)
    (iostat 1 10:系统io状态,tps:硬盘每秒传输速度)
    (iostat -b:显示每秒MB读写)
    (iostat -d -x 1 :-x 表示显示所有磁盘 I/O 的指标,-d不显示设备利用率)
    (iostat   -x -p ALL:显示每个设备的io情况,并显示设备利用率,加上-d,不显示设备利用率)
    (sysstat:工具安装:yum install sysstat)
    (pmap -d 14596:进程占用的内存情况,数字是PID号)
    (top -H -p 1997:指定进程号为1997,查看线程信息)
    (top -c:动态显示进程,显示完整执行路径,不只是显示命令)
    (dmesg | grep -i "Out of memory":查询 OOM 日志,dmesg 中看到 Out of memory 的信息,从而知道是哪些进程被OOM 杀死了。)
    (注:dmesg结果输出:lowmem_reserve,代表申请内存。)
    (cat /proc/stat | grep ^cpu:只保留各个CPU的数据)
    (grep 'CONFIG_HZ=' /boot/config-$(uname -r):查看内核的节拍率 HZ )
    (grep Pss /proc/[1-9]*/smaps | awk '{total+=$2}; END {printf "%d kB ", total }':统计所有进程的物理内存使用量)
    (grep 'CONFIG_HZ=' /boot/config-$(uname -r):查看系统节拍率,也就是每秒钟触发多少次时间中断)
    (grep  -R  "字符串"   /目录:遍历目录里面的文件,查找里面的字符串。)
    (grep -c是行数,–n行号 ,–i忽略大小写)
    (smem|awk '{total+=$6};END{printf "%d kb/n",total}';echo:统计所有进程的物理内存使用量,$6是计算pss,$7是计算rss)
    (getconf PAGESIZE:查看共享内存页大小)
    (strace -c find /tools/monitor -name sleep_count.py:在执行一个命令时,每个系统调用在内核中所用的时间)
    (strace -p PID   -f:加上f参数,多进程和多线程都可以跟踪)
    (strace -p 3387 -f 2>&1 | grep write :追踪子线程)
    (strace -cfp $(pidof mysqld):计算系统调用的时间)
    (lsof -i -U:分析核心内存和各种文件)
    (lsof -nP | grep '(deleted)':查找被删除文件的信息)
    (lsof -c mysqld:显示进程信息)
    ((lsof -c mysqld  | grep  deleted:显示进程信息))
    (lsof -p 9737:查看9737这个进程号,打开的所有文件)
    (lsof  -i:1194)
    (lsof -i :22:查看22端口上的所有进程)
    (lsof  | grep delete:查看已删除空间却没有释放的进程 )
    (lsof -w | grep deleted:查看所有被删掉并缓存的进程,-w 是指忽略这些错误)
    (top -c:显示系统运行的进程信息,输入大写P,进程便按照使用率排序)
    (top -Hp 5986:显示该进程的线程运行信息列表,继续输入大写P使其按照CPU使用率排序)
    (top -b -n1 | head:top命令,只显示1次)
     

    人生需要学习,坚持努力的学习
  • 相关阅读:
    PyQt作品 – PingTester – 多点Ping测试工具
    关于和技术人员交流的一二三
    Pyjamas Python Javascript Compiler, Desktop Widget Set and RIA Web Framework
    Hybrid Qt applications with PySide and Django
    pyjamas build AJAX apps in Python (like Google did for Java)
    PyQt 维基百科,自由的百科全书
    InfoQ:请问为什么仍要选择Java来处理后端的工作?
    Eric+PyQt打造完美的Python集成开发环境
    python select module select method introduce
    GUI Programming with Python: QT Edition
  • 原文地址:https://www.cnblogs.com/suixhxy/p/14285124.html
Copyright © 2020-2023  润新知