显卡GPUlinux
查看显卡信息 sudo lshw -numeric -class video # 查看显卡型号 lspci | grep -i nvidia # 查看驱动版本 sudo dpkg --list | grep nvidia-* 或者 ubuntu-drivers devices #查看显卡使用状况 nvidia-smi(显示一次当前GPU占用状况) nvidia-smi -l(每秒刷新一次并显示) watch 命令周期性执行某一命令,并将输出全屏显示 watch的基本用法是 watch [options] command 最经常使用的参数是 -n, 后面指定是每多少秒来执行一次命令。 #监视显存,设置为每 10s 显示一次显存的状况 watch -n 10 nvidia-smi 第一栏的Fan:N/A是风扇转速,从0到100%之间变更,这个速度是计算机指望的风扇转速,实际状况下若是风扇堵转,可能打不到显示的转速。有的设备不会返回转速,由于它不依赖风扇冷却而是经过其余外设保持低温 第二栏的Temp:是温度,单位摄氏度。 第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。 第四栏下方的Pwr:是能耗,上方的Persistence-M:是持续模式的状态,持续模式虽然耗能大,可是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。 第五栏的Bus-Id是涉及GPU总线的东西 第六栏的Disp.A是Display Active,表示GPU的显示是否初始化。 第五第六栏下方的Memory Usage是显存使用率。 第七栏是浮动的GPU利用率。 第八栏上方是关于ECC的东西。 第八栏下方Compute M是计算模式。 下面一张表示每一个进程占用的显存使用率。 #显卡被占满,进程看不出来: sudo fuser /dev/nvidia*
top命令,查看进程ios
ps -aux 查看全部进程,每行一个程序 top 显示当前运行程序 P:根据CPU使用大小进行排序。 T:根据时间、累计时间排序。 q:退出top命令。 m:切换显示内存信息。 t:切换显示进程和CPU状态信息。 c:切换显示命令名称和完整命令行。 M:根据使用内存大小进行排序。 W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。 #显示参数: PID(Process ID):进程标示号。 USER:进程全部者的用户名。 PR:进程的优先级别。 NI:进程的优先级别数值。 VIRT:进程占用的虚拟内存值。 RES:进程占用的物理内存值。 SHR:进程使用的共享内存值。 S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。 %CPU:该进程占用的CPU使用率。 %MEM:该进程占用的物理内存和总内存的百分比。 TIME+:该进程启动后占用的总的CPU时间。 Command:进程启动的启动命令名称,若是这一行显示不下,进程会有一个完整的命令行。 #或者安装htop,使用htop更直接
free 查看内存使用状况ubuntu
$ free 说明:free命令用来显示内存的使用状况,使用权限是全部用户。 free [-b-k-m] [-o] [-s delay] [-t] [-V] 主要参数 -b -k -m:分别以字节(KB、MB)为单位显示内存使用状况。 -s delay:显示每隔多少秒数来显示一次内存使用状况。 -t:显示内存总和列。 -o:不显示缓冲区调节列。
uptime 更新系统运行时间,负载信息缓存
18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21 如今的时间 系统开机运转到如今通过的时间 连线的使用者数量 最近一分钟,五分钟和十五分钟的系统负载 参数: -V 显示版本资讯。
vmstat 显示磁盘活动 状况安全
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70 磁盘活动状况主要从如下几个指标了解: bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。 bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。 wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的状况越严重,由于cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。若是wa常常大于10,可能文件系统就须要进行性能调整了。 推荐:查看cpu活动状况,使用vmstat比top更能反映出cpu的使用状况: us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。 sy:系统调用使用cpu的时间比例。注意,NFS因为是在内核里面运行的,因此NFS活动所占用的cpu时间反映在sy里面。这个数字常常很大的 话,就须要注意是否某个内核进程,好比NFS任务比较繁重。若是us和sy同时都比较大的话,就须要考虑将某些用户程序分离到另外的服务器上面,以避免互相 影响。 id:cpu空闲的时间比例。 wa:cpu等待未决的磁盘IO的时间比例。
iostat 用于统计CPU的使用状况及tty设备、硬盘和CD-ROM的I/0量服务器
-c 只显示CPU行 -d 显示磁盘行 -k 以千字节为单位显示磁盘输出 -t 在输出中包括时间戳 -x 在输出中包括扩展的磁盘指标 avg-cpu: %user %nice %sys %iowait %idle 20.25 0.18 2.61 76.39 0.57 %iowait 等待本地I/O时CPU空闲时间的百分比 %idle 未等待本地I/O时CPU空闲时间的百分比 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn hda 9.86 284.34 84.48 685407 2036 每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节块读取(Blk_read)和写入(Blk_wrtn)的总数量。 6 gnome-system-monitor 打开ubuntu下的任务管理器
SCP:架构
scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它相似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,并且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp能够帮你把文件移出来。另外,scp还很是不占资源,不会提升多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的状况下,rsync会致使硬盘I/O很是高,而scp基本不影响系统正常使用。 两台机器IP分别为:A.104.238.161.75,B.43.224.34.73。 #在A服务器上操做,将B服务器上/home/lk/目录下全部的文件所有复制到本地的/root目录下 scp -r root@43.224.34.73:/home/lk /root #在A服务器上将/root/lk目录下全部的文件传输到B的/home/lk/cpfile目录下 scp -r /root/lk root@43.224.34.73:/home/lk/cpfile 1.命令格式: scp [参数] [原路径] [目标路径] 2.命令功能: scp是 secure copy的缩写, scp是linux系统下基于ssh登录进行安全的远程文件拷贝命令。linux的scp命令能够在linux服务器之间复制文件和目录。 3.命令参数: -1 强制scp命令使用协议ssh1 -2 强制scp命令使用协议ssh2 -4 强制scp命令只使用IPv4寻址 -6 强制scp命令只使用IPv6寻址 -B 使用批处理模式(传输过程当中不询问传输口令或短语) -C 容许压缩。(将-C标志传递给ssh,从而打开压缩功能) -p 保留原文件的修改时间,访问时间和访问权限。 -q 不显示传输进度条。 -r 递归复制整个目录。 -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试链接,验证和配置问题。 -c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。 -F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。 -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。 -l limit 限定用户所能使用的带宽,以Kbit/s为单位。 -o ssh_option 若是习惯于使用ssh_config(5)中的参数传递方式, -P port 注意是大写的P, port是指定数据传输用到的端口号 -S program 指定加密传输时所使用的程序。此程序必须可以理解ssh(1)的选项。 4.使用实例: 从本地服务器复制到远程服务器: (1) 复制文件: scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file 第1,2个指定了用户名,命令执行后须要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名 第3,4个没有指定用户名,命令执行后须要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名 (2) 复制目录: scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ip:remote_folder 第1个指定了用户名,命令执行后须要输入用户密码; 第2个没有指定用户名,命令执行后须要输入用户名和密码;
SSHssh
安装ssh #本地主机运行此条,实际上一般是默认安装client端程序的 sudo apt install openssh-client #服务器运行此条命令安装 sudo apt install openssh-server 安装完默认启动,也能够手动启动 输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,若是没有启动 sudo /etc/init.d/ssh start #服务器启动ssh-server服务, sudo /etc/init.d/ssh stop #server中止ssh服务 sudo /etc/init.d/ssh restart #server重启ssh服务 链接ssh ssh yj@192.168.0.101 要输入的密码是服务器主机自己的登录密码: 退出 用Ctrl+D或者exit
压缩与打包socket
zip是比较经常使用的文档压缩格式,最大的有点是跨平台,缺点是支持的压缩率不是很高。 #压缩 zip -r studio.zip directory_to_compress #解压 unzip studio.zip TAR好处是只消耗很是少的CPU及时间打包,只是一个打包工具,并不负责压缩。 tar -cvf studio.tar directory_to_compress #解包到当前目录下 tar -xvf studio.tar #到指定目录下 tar -xvf studio.tar -C /tmp/extract/ TAR.GZ 压缩时不会占用太多的CPU,就能够获得一个很是理想的压缩率。 #压缩 tar -zcvf studio.tar.gz directory_to_compress #解压 #到当前目录 tar -zxvf studio.tar.gz #到指定目录 tar -zxvf studio.tar.gz -C /tmp/extract/ TAR.BZ2 这种压缩格式是这几种方式中压缩率最好的 tar -jcvf studio.tar.bz2 directory_to_compress #解压 #到当前目录 tar -jxvf studio.tar.bz2 #到指定目录 tar -jxvf studio.tar.bz2 -C /tmp/extract/
关于端口ide
查看服务端口 #查看已经链接的服务端口(ESTABLISHED) netstat -a #查看全部的服务端口(LISTEN,ESTABLISHED) netstat -ap 查看指定端口 #查看指定端口,能够结合grep命令 netstat -ap | grep 8080 #也可使用lsof命令 lsof -i:8080 关闭端口使用 #若要关闭使用这个端口的程序,使用kill + 对应的pid kill -9 PID号 ps:kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,因此kill -9能顺利杀掉进程。
关于本机或者服务器硬件信息查看
#如何查看电脑CPU核数 more /proc/cpuinfo |grep "physical id"|uniq|wc -l #每一个cpu是几核(假设cpu配置相同) more /proc/cpuinfo |grep "physical id"|grep "0"|wc -l cat /proc/cpuinfo | grep processor #1. 查看物理CPU的个数 cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l #2. 查看逻辑CPU的个数 cat /proc/cpuinfo |grep "processor"|wc -l #3. 查看CPU是几核 cat /proc/cpuinfo |grep "cores"|uniq #4. 查看CPU的主频 cat /proc/cpuinfo |grep MHz|uniq #(查看当前操做系统内核信息) 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) # 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) # 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的详细信息: cat /proc/cpuinfo #逻辑CPU个数: cat /proc/cpuinfo | grep "processor" | wc -l #物理CPU个数: cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l #每一个物理CPU中Core的个数: cat /proc/cpuinfo | grep "cpu cores" | wc -l #是否为超线程? 若是有两个逻辑CPU具备相同的”core id”,那么超线程是打开的。 #每一个物理CPU中逻辑CPU(多是core, threads或both)的个数: cat /proc/cpuinfo | grep "siblings" #lscpu Architecture: i686 #架构686 CPU(s): 2 #逻辑cpu颗数是2 Thread(s) per core: 1 #每一个核心线程数是1 Core(s) per socket: 2 #每一个cpu插槽核数/每颗物理cpu核数是2 CPU socket(s): 1 #cpu插槽数是1 Vendor ID: GenuineIntel #cpu厂商ID是GenuineIntel CPU family: 6 #cpu系列是6 Model: 23 #型号23 Stepping: 10 #步进是10 CPU MHz: 800.000 #cpu主频是800MHz Virtualization: VT-x #cpu支持的虚拟化技术VT-x L1d cache: 32K #一级缓存32K(google了下,这具体表示表示cpu的L1数据缓存为32k) L1i cache: 32K #一级缓存32K(具体为L1指令缓存为32K) L2 cache: 3072K #二级缓存3072K