端口
查看端口进程
lsof -i:8080
监控
GPU
nvidia-smi -l 1 # 每秒刷新一次
CPU
top
top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:
s - 改变画面更新频率
l - 关闭或开启第一部分第一行 top 信息的表示
t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)
P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)
M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)
h - 显示帮助
n - 设置在进程列表所显示进程的数量
q - 退出 top
top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
第一部分 – 最上部的系统信息栏 :
第一行(top)举例:
“00:11:04”为系统当前时刻;
“3:35”为系统启动后到现在的运作时间;
“2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数 – 同一个用户同一时间对系统多个终 端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;
“load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平数, 一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程;
第二行(Tasks):
“59 total”为当前系统进程总数;
“1 running”为当前运行中的进程数;
“58 sleeping”为当前处于等待状态中的进程数;
“0 stoped”为被停止的系统进程数;
“0 zombie”为被复原的进程数;
第三行(Cpus):
分别表示了 CPU 当前的使用率;
第四行(Mem):
分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;
第五行(Swap):
表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。
第二部分 – 中间部分的内部命令提示栏
第三部分 – 最下部分的进程列表栏:
以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式
Memory
在Linux下查看内存我们一般用 free
命令:
[root@scs-2 tmp]# free
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
第一行、第二行 total used free shared buffers cached
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解释了。
区别:
第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。
这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是16176KB,已用内存是3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
所以从应用程序的角度来说,可用
内存=系统free+buffers+cached。
如上例:
2795064=16176+110652+2668236
压缩与解压缩
zip
zip -r xxx.zip ./*
tar.gz
tar zcvf xxxx.tar.gz ./xxx/
tar.bz2
tar -jxvf xx.tar.bz2
防火墙
查看防火状态
systemctl status firewalld
service iptables status
暂时关闭防火墙
systemctl stop firewalld
service iptables stop
永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
重启防火墙
systemctl enable firewalld
service iptables restart
永久关闭后重启后生效
chkconfig iptables on
chkconfig iptables off
安全
修改登录密钥
修改 SSH 端口
其实本身Linux已经很安全了,但是如果密码设置的不够复杂,如果说小写+数字共12位以下,你的SSH还用的默认端口,那强力一点的黑客用不上半小时,就能暴力破解你的密码。所以,最好的方法就是修改掉SSH的端口。
修改文件/etc/ssh/sshd_config
搜索Port 22 #在第三行或第四行,如果前面有井号,请删除,修改为 65534 以下即可。如修改为 XXXX, 在修改的过程中最好先同时保留22, XXXX,用 XXXX 登录无误后,再屏蔽 22。 可在远程连接中用vi命令,或sftp下载到本地修改,修改后使用以下命令重启ssh服务
禁用异常IP
登录 SSH 后,使用 last -x 命令可以看到最近登录的用户,找出异常 IP,添加到禁止登录IP里面。
修改文件vim /etc/hosts.deny
i 进入,在 # 后面添加一行禁止记录,如 ssh:1.1.1.1:deny,esc :wq 保存退出。重启 SSH 服务。
被屏蔽的 IP 登录时一般会提示kex_exchange_identification: read: Connection reset by peer