• linux磁盘相关命令


    一、查看文件夹大小du

    du -h -d1 2>/dev/null

    解释:

    • h表示以可读性较好的方式显示,即带单位显示
    • d表示深度depth,为1表示只显示当前目录下文件的大小
    • 2>/dev/null,表示跳过那些不可读的文件

    使用find命令也能够查看文件大小,但是比较复杂
    find / -size +100M |xargs ls -lh 列出系统内大于100M的文件,这个命令比较耗时

    du -h --max-depth=1 查看当前目录内文件夹的大小。这种方式最好了。在最近做出更改的目录下使用此命令可以快速定位大文件的位置。

    二、查看磁盘大小df

    df -h 查看磁盘空间占用,实际上是查看磁盘块占用的文件(block)
    df -i 查看索引节点的占用(Inodes)
    磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满。
    所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满

    三、查看内存使用情况free

    watch free:查看每时每刻内存变化情况

    三、创建交换区makeswap

    问题:virtual memory exhausted: Cannot allocate memory
    内存太小的解决办法:使用硬盘替代内存,交换区的存在使得内存空间可以和硬盘空间一样大。

    free先查看一下,可以发现交换区大小为0

    ~$free
                 total       used       free     shared    buffers     cached
    Mem:       1017832     784328     233504        356      12844      14692
    -/+ buffers/cache:     756792     261040
    Swap:            0          0          0
    

    使用dd命令从/dev/zero中读取全0初始化一个文件,这个文件名可以名叫swap,相当于一个交换区的名字。使用free显示的空间大小单位都是kB,也就是block的个数,一个磁盘块的大小默认是1024B。正常情况下,4G内存才够用,所以建议减缓区大小为4096000。

    ~$dd if=/dev/zero of=swap bs=1024 count=1024000
    1024000+0 records in
    1024000+0 records out
    1048576000 bytes (1.0 GB) copied, 6.30189 s, 166 MB/s
    

    查看一下swap空间的大小

    ~$ll swap
    -rw-rw-r-- 1 ubuntu ubuntu 1048576000 Oct 18 02:48 swap
    

    交换区已经准备好了,下一步就等着让它生效了。首先要在这块空间上建立分块。

    ~$mkswap swap 
    Setting up swapspace version 1, size = 1023996 KiB
    no label, UUID=1372d681-b265-469b-8d9d-d637cbedbef7
    

    交换区终于可以投入使用了。

    ~$sudo swapon swap
    ~$free -h
                 total       used       free     shared    buffers     cached
    Mem:       1017832     947088      70744        356       1692     189112
    -/+ buffers/cache:     756284     261548
    Swap:      1023996          0    1023996
    

    运行着发现交换区太小了,需要进一步扩大,一方面可以重复以上步骤重建另一个交换区,另一方面可以在当前这个交换区的基础上先shutdown然后在重复上述步骤。

    ~$sudo swapoff swap
    ~$free
                 total       used       free     shared    buffers     cached
    Mem:       1017832     947844      69988        356       1744     189728
    -/+ buffers/cache:     756372     261460
    Swap:            0          0          0
    

    综上,创建一个名为swap的文件作为交换区。首先要设置该文件的大小,使用dd文件复制命令从if复制到of,复制count次,每次复制bs大小的空间。然后将swap文件格式化为交换区,使用"mkswap 文件名"命令,该命令会是swap文件腾出4*1024B(即为4页)的空间专门作为交换区头部。最后"swapon 文件名"命令打开交换区,此时查看内存就能够看见swap区的大小了。不想用交换区之后,用swapoff关闭交换区,关闭之后就可"rm swap"删除交换区了.

  • 相关阅读:
    通用权限管理设计 之 数据库结构设计 [转载]
    RBAC权限管理模型(转)
    C# ReportViewer报表 详解
    人生两支笔
    用C#编写ActiveX控件(一)
    SQL操作全集
    用C#编写ActiveX控件(二)
    Attribute在.NET编程中的应用(三)
    Attribute在.NET编程中的应用(四)
    winform自动升级
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/10190517.html
Copyright © 2020-2023  润新知