linux查看硬盘空间 文件大小
du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在的,没有被删除的。他计算的大小就是当前他认为存在的所有文件大小的累加和
df,disk free,通过文件系统来快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失了,而是暂时消失了,当所有程序都不用时,才会根据OS的规则释放掉已经删除的文件, df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件,而且计算大小的时候,把这一部分的空间也加上了,更精确了。
当文件系统也确定删除了该文件后,这时候du与df就一致了。
常用命令:
du -sh [目录名]
du -sh /opt
du -ah /opt
输出当前目录下各个子目录所使用的空间 ,加上目录名,则输出指定目录下各个子目录所使用的空间
du -h --max-depth=1
df -lh
说明:
-h更具目前磁盘空间和使用情况 以更易读的方式显示
-H根上面的-h参数相同,不过在根式化的时候,采用1000而不是1024进行容量转换
-k以单位显示磁盘的使用情况
-l显示本地的分区的磁盘空间使用率,如果服务器nfs了远程服务器的磁盘,那么在df上加上-l后系统显示的是过滤nsf驱动器后的结果
-i显示inode的使用情况。linux采用了类似指针的方式管理磁盘空间影射.这也是一个比较关键应用
Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id
ps -ef | grep mongod
现在可以使用如下命令查看内存:
top -p 2607
这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行
也可直接使用ps命令查看:
ps -aux | grep mongod
第一个标注的地方是CPU和内存占用率,后面的 89736 是物理内存使用量,单位是k,此时 mongodb 大约占用87M内存
还可以查看进程的status文件:
VmRSS对应的值就是物理内存占用,大约为87M和刚才一致
通过命令查看内存占用前10名的程序:
ps aux | sort -k4,4nr | head -n 10
1、cpu查看
1)cpu个数:
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2)cpu核数:
cat /proc/cpuinfo | grep "cpu cores" | uniq
3)cpu型号:
cat /proc/cpuinfo | grep 'model name' |uniq
2、内存查看:
cat /proc/meminfo | grep MemTotal
3、硬盘查看:
fdisk -l | grep Disk
下面是一些命令的集合,供参考:
uname -a # 查看内核/操作系统/CPU信息的linux系统信息 head -n l /etc/issue # 查看操作系统版本 cat /proc/cpuinfo # 查看CPU信息 hostname # 查看计算机名的linux系统信息命令 lspci -tv # 列出所有PCI设备 lsusb -tv # 列出所有USB设备的linux系统信息命令 lsmod # 列出加载的内核模块 env # 查看环境变量资源 free -m # 查看内存使用量和交换区使用量 df -h # 查看各分区使用情况 du -sh # 查看指定目录的大小 grep MemTotal /proc/meminfo # 查看内存总量 grep MemFree /proc/meminfo # 查看空闲内存量 uptime # 查看系统运行时间、用户数、负载 cat /proc/loadavg # 查看系统负载磁盘和分区 mount | column -t # 查看挂接的分区状态 fdisk -l # 查看所有分区 swapon -s # 查看所有交换分区 hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) dmesg | grep IDE # 查看启动时IDE设备检测状况网络 ifconfig # 查看所有网络接口的属性 iptables -L # 查看防火墙设置 route -n # 查看路由表 netstat -lntp # 查看所有监听端口 netstat -antp # 查看所有已经建立的连接 netstat -s # 查看网络统计信息进程 ps -ef # 查看所有进程 top # 实时显示进程状态用户 w # 查看活动用户 id # 查看指定用户信息 last # 查看用户登录日志 cut -d: -f1 /etc/passwd # 查看系统所有用户 cut -d: -f1 /etc/group # 查看系统所有组 crontab -l # 查看当前用户的计划任务服务 chkconfig –list # 列出所有系统服务 chkconfig –list | grep on # 列出所有启动的系统服务程序 rpm -qa # 查看所有安装的软件包 cat /proc/cpuinfo :查看CPU相关参数的linux系统命令 cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令 cat /proc/meminfo :查看linux系统内存信息的linux系统命令 cat /proc/version :查看版本,类似uname -r cat /proc/ioports :查看设备io端口 cat /proc/interrupts :查看中断 cat /proc/pci :查看pci设备的信息 cat /proc/swaps :查看所有swap分区的信息
CPU占用最多的前10个进程:
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
内存消耗最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
虚拟内存使用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k5|head -10
检查端口被哪个进程占用
netstat -lnp|grep 5000
找到进程号:3579 占用 5000 端口
查看进程的详细信息:
ps 3579
杀掉进程:
kill -9 3579