常用命令
Linux
指定utf-8编码less查看文件
LESSCHARSET=utf-8 less server.log
编码转换后再less查看
iconv -f gb2312 -t utf-8 server.log | less
查看进程状态
top -p 5298 # 进程id
top - 17:31:48 up 910 days, 22:25, 1 user, load average: 0.13, 0.19, 0.30 Tasks: 144 total, 2 running, 142 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.0 us, 5.6 sy, 0.0 ni, 91.3 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st KiB Mem : 4045360 total, 2190220 free, 433920 used, 1421220 buff/cache KiB Swap: 4194300 total, 4137468 free, 56832 used. 2875432 avail Mem
第一行09:14:56 : 系统当前时间264 days, 20:56 : 系统开机到现在经过了多少时间1 users : 当前2用户在线load average: 0.02, 0.04, 0.00: 系统1分钟、5分钟、15分钟的CPU负载信息
第二行Tasks:任务;87 total:很好理解,就是当前有87个任务,也就是87个进程。1 running:1个进程正在运行86 sleeping:86个进程睡眠0 stopped:停止的进程数0 zombie:僵死的进程数
第三行Cpu(s):表示这一行显示CPU总体信息0.0%us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。0.7%sy:内核占用CPU时间百分比0.0%ni:改变过优先级的进程占用CPU的百分比99.3%id:空闲CPU时间百分比0.0%wa:等待I/O的CPU时间百分比0.0%hi:CPU硬中断时间百分比0.0%si:CPU软中断时间百分比注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;
第四行Men:内存的意思8175320kk total:物理内存总量8058868k used:使用的物理内存量116452k free:空闲的物理内存量283084k buffers:用作内核缓存的物理内存量
第五行Swap:交换空间6881272k total:交换区总量4010444k used:使用的交换区量2870828k free:空闲的交换区量4336992k cached:缓冲交换区总量
进程信息再下面就是进程信息:PID:进程的IDUSER:进程所有者PR:进程的优先级别,越小越优先被执行NInice:值VIRT:进程占用的虚拟内存RES:进程占用的物理内存SHR:进程使用的共享内存S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数%CPU:进程占用CPU的使用率%MEM:进程使用的物理内存和总内存的百分比TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。COMMAND:进程启动命令名称
htop
htop
参数
-C --no-color 使用单色配色方案 -d --delay=DELAY 设置更新之间的延迟,在十秒 -s --sort-key=COLUMN 纵列排序(try --sort-key=help for a list) -u --user=USERNAME 只显示一个指定用户的进程 -p --pid=PID,[,PID,PID...] 只显示给用户 -h --help 打印此命令帮助 -v --version 打印版本信息
选项
h,? F1:查看htop使用说明 S F2:设置 / F3:搜索进程 \\ F4:过滤器,按关键字搜索 t F5:显示树形结构 <,> F6:选择排序方式 [ F7:减少nice值,这样就可以提高对应进程的优先级 ] F8:增加nice值,这样可以降低对应进程的优先级 k F9:杀掉选中的进程 q F10:退出htop / : 搜索字符 h : 显示帮助 l : 显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件 u : 显示所有用户,并可以选择某一特定用户的进程 U : 取消标记所有的进程 s : 将调用strace追踪进程的系统调用 t : 显示树形结构 H:显示/隐藏用户线程 I:倒转排序顺序 K:显示/隐藏内核线程 M:按内存占用排序 P:按CPU排序 T:按运行时间排序 上下键或PgUP, PgDn : 移动选中进程 左右键或Home, End : 移动列表 Space(空格) : 标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程
Htop设定
鼠标点击Setup或者按下F2 之后进入htop 设定的页面
1. Meters
设定顶端的 显示信息,分为左右两侧,Left column 表示左侧的显示的信息,Right column表示右侧显示的信息,如果要新加选项,可以选择Available meters添加,F5新增到上方左侧,F6新增到上方右侧。Left column和Right column下面的选项,可以选定信息的显示方式,有LED、Bar(进度条)、Text(文本模式),可以根据个人喜好进行设置
2. Display options
选择要显示的内容,按空格 x表示显示,选择完后,按F10保存
3. Colors
设定界面以什么颜色来显示,个人认为用处不大,各人喜好不同
4. Colums
作用是增加或取消要显示的各项内容,选择后F7(向上移动)、F8(向下移动)、F9(取消显示、F10(保存更改))此处增加了PPID、PGRP,根据各人需求,显示那些信息。
F3 搜索进程
在界面下按F3或直接输入”/”就可以直接进入搜索模式,是按照进程名进行搜索的,搜索到的进程会用设定的颜色标记出来,方便查看。
F4:过滤器
相当于模糊查找,不区分大小写,下方输入要搜索的内容后,则界面只显示搜索到的内容,更加方便查看
F5:以树形方式显示
F6:排序方式
按下F6后会跳转至以树形方式显示界面,让您选择以什么方式进行排序,在Sort by下选择您要以什么来排序
F7,F8:调整进程nice值
F7表示减小nice值(增大优先级),F8增大nice值(减小优先级),选择某一进程,按F7或F8来增大或减小nice值,nice值范围为-20-19
F9:杀死进程
选择某一进程按F9即可杀死此进程,很方便
F10:退出htop
查看java进程状态
jstack 5299 # java进程id
打印java进程详情
jcmd `java进程id` Thread.print
crontab定时任务
crontab -e
实例1:每1分钟执行一次myCommand
* * * * myCommand
实例2:每小时的第3和第15分钟执行
3,15 * * * * myCommand
实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand
实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand
实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
实例11:每一小时重启smb
*/1 * * * /etc/init.d/smb restart
实例12:晚上11点到早上7点之间,每隔一小时重启smb
0 23-7 * * * /etc/init.d/smb restart
Windows
查找所有运行的端口
netstat -ano
查看被占用端口对应的 PID
netstat -aon|findstr "8081"
查看指定 PID 的进程
tasklist|findstr "9088"
强制(/F参数)杀死 pid 为 9088 的所有进程包括子进程(/T参数)
taskkill /T /F /PID 9088