标签: 操作系统

  • 通过命令行查看服务器硬件配置

    购买服务器后,通过这些命令你可以全面了解云服务器的硬件配置,包括操作系统、CPU、内存、硬盘、网络接口和显卡等信息

    1. 查看操作系统信息

    uname -a

    说明:该命令会显示操作系统的内核版本、主机名、系统架构等基本信息。

    2. 查看操作系统版本

    cat /etc/os-release

    说明:该命令会显示当前操作系统的名称、版本 ID、版本号、ID like 等详细信息。

    3. 查看CPU信息

    lscpu

    说明:该命令会显示CPU的架构、CPU(s)(逻辑CPU核心数)、Thread(s) per core(每核心线程数)、Core(s) per socket(每插槽核心数)、Socket(s)(插槽数)、型号名称、CPU MHz(当前频率)等信息,帮助你评估系统的计算能力。

    4. 查看内存信息

    free -h

    说明:该命令会以人类可读的格式显示总内存(Total)、已用内存(Used)、空闲内存(Free)、共享内存(Shared)、缓冲区/缓存(Buff/Cache)以及可用内存(Available)等信息,帮助你了解内存的使用情况。

    5. 查看硬盘信息

    lsblk

    或者:

    df -h

    说明:lsblk 会以树状结构列出块设备(磁盘、分区等)的信息,包括设备名称、大小、类型、挂载点等。而 df -h 会显示各文件系统的磁盘空间使用情况,包括文件系统、总大小(Size)、已用空间(Used)、可用空间(Avail)、使用百分比(Use%)和挂载点(Mounted on)。

    6. 查看网络接口信息

    ifconfig

    或者:

    ip a

    说明:ifconfig 命令会显示网络接口的详细配置信息,包括接口名称、MAC地址(HWaddr)、IP地址(inet addr)、子网掩码(Mask)、广播地址(Bcast)等。ip aiproute2 工具集中的命令,提供更强大和更现代的网络配置信息,包括接口状态、IP地址、MAC地址等。通常建议使用 ip a

    7. 查看系统负载和进程

    top

    或者:

    htop

    说明:top 会实时显示系统负载(load average)、CPU使用率(%Cpu(s))、内存使用率(%Mem, %Swap)以及各个进程的PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 等信息。htoptop 的交互式增强版,提供更友好的彩色界面,支持鼠标操作,可以更方便地查看和管理进程。

    8. 查看显卡配置

    8.1 查看NVIDIA显卡信息

    命令:

    nvidia-smi

    说明:nvidia-smi (NVIDIA System Management Interface) 命令会显示NVIDIA显卡的详细信息,包括显卡型号(Name)、CUDA版本、驱动版本(Driver Version)、GPU利用率(GPU)、显存使用情况(Memory-Usage)、GPU温度(Temp)、风扇转速(Fan)等。

    8.2 查看所有NVIDIA显卡信息

    如果有多个NVIDIA显卡,可以使用以下命令列出所有显卡及其索引:

    命令:

    nvidia-smi -L

    说明:该命令会列出所有检测到的NVIDIA显卡及其对应的索引(GPU 0, GPU 1, …)和型号信息。

    8.3 查看其他显卡信息(适用于非NVIDIA显卡)

    如果使用的是AMD或其他品牌的显卡,可以使用以下命令:

    命令:

    lspci | grep VGA

    说明:该命令使用 lspci (list PCI devices) 列出所有PCI设备,并通过 grep VGA 过滤出与VGA兼容的设备,通常包括显卡信息。输出会显示显卡的型号信息。

    8.4 查看OpenCL设备信息

    对于支持OpenCL的显卡或其他计算设备,可以使用以下命令查看设备信息:

    命令:

    clinfo

    说明:该命令会列出所有与OpenCL相关的平台(Platform)和设备(Device)信息,包括设备名称、供应商、OpenCL版本支持等。你需要先安装 clinfo 工具(例如,在Debian/Ubuntu上使用 sudo apt-get install clinfo,在CentOS/RHEL上使用 sudo yum install clinfo)。

  • Linux发行版在日常使用与业务需求的最佳选择

    关于如何在日常使用和业务应用中选择合适的Linux发行版的实用指南。文章详细分析了不同Linux发行版的特性、优势以及适用场景,以便能够根据自身需求做出选择。

    一、日常使用(个人用户、开发者)

    适用于普通用户、开发者、开源爱好者等,关注易用性、社区支持、桌面体验和软件生态

    1. 适合桌面用户

    • Ubuntu(桌面版)
      • 优势:安装简单,默认支持大量硬件,应用商店丰富,长期支持(LTS)版本可用。强大的社区支持,丰富的文档。
      • 适用场景:办公、日常上网、影音娱乐、开发环境(VS Code、Docker、PyCharm等)。
      • 缺点:默认启用 Snap,有时会影响软件加载速度。
    • Linux Mint
      • 优势:基于 Ubuntu,界面类似 Windows,适合新手,默认带有更多开箱即用的软件。对老旧硬件兼容性更好。
      • 适用场景:替代 Windows 或 macOS,稳定性好,轻量级硬件支持更友好。
      • 缺点:社区活跃度略低于 Ubuntu。
    • Fedora Workstation
      • 优势:采用 GNOME 桌面,支持最新的 Linux 技术(如 Wayland、PipeWire),开发者友好,拥有较新的软件包。
      • 适用场景:开发者、喜欢尝鲜的人。
      • 缺点:生命周期较短(6 个月一次大更新)。
    • Manjaro
      • 优势:基于 Arch,安装方便,提供滚动更新但更稳定,拥有 AUR(Arch User Repository),软件资源丰富。
      • 适用场景:希望使用 Arch 但不想手动配置的用户。
      • 缺点:部分更新可能导致系统不稳定。
    • Elementary OS
      • 优势:注重美观和简洁,界面类似 macOS,用户体验良好。
      • 适用场景:追求美观和易用性的用户。
      • 缺点:软件生态相对较小。
    • Pop!_OS
      • 优势:由 System76 开发,对游戏和开发支持良好,特别是对NVIDIA显卡支持优化。
      • 适用场景:游戏玩家,开发者,特别是深度学习开发者。
      • 缺点:相对较新的发行版,社区规模小于Ubuntu。

    2. 适合开发者

    • Ubuntu(LTS)
      • 适合大多数开发环境(Python、Node.js、Go、Docker、Kubernetes)。
      • 强大的社区支持,问题易解决。
    • Debian
      • 更稳定,适合需要长期运行的开发环境(服务器、容器化部署)。
      • 默认仓库软件较旧,可手动添加 backports 或使用 Testing 版。
    • Arch Linux
      • 适合高级用户,完全定制化,提供最新的软件版本和内核。
      • 适合构建极简、个性化的开发环境。
    • openSUSE Tumbleweed
      • 优势:滚动更新模型,提供最新的开发工具和库,YaST 管理工具强大。
      • 适用场景:追求最新软件的开发者。
      • 缺点:滚动更新可能带来不稳定性。

    二、业务使用(服务器、企业、生产环境)

    适用于服务器、数据中心、云计算、企业内部系统等,关注稳定性、安全性、长期支持、软件兼容性

    1. 企业服务器

    • Ubuntu Server(LTS)
      • 适合云计算(支持 AWS、Azure、GCP)、容器化部署(Docker、K8s)。
      • 5 年 LTS + 可选 10 年扩展支持(Ubuntu Pro)。
    • Debian
      • 以稳定著称,适用于 Web 服务器、数据库等长期运行的应用。
      • 软件更新相对较慢,但非常可靠。
    • Rocky Linux / AlmaLinux
      • RHEL(Red Hat Enterprise Linux)的完全兼容替代品,适用于企业生产环境。
      • 长期支持,适用于需要稳定性的企业服务器。
    • Red Hat Enterprise Linux(RHEL)
      • 适用于企业级业务,提供商业支持(Red Hat 订阅)。
      • 大规模生产环境、企业 IT 部门使用较多。
    • Oracle Linux
      • 优势:与Oracle产品兼容性好,适合运行Oracle数据库等。
      • 适用场景:运行Oracle相关业务的企业。
      • 缺点:相对RHEL,社区规模较小。

    2. 高性能计算 / 数据中心

    • SUSE Linux Enterprise Server(SLES)
      • 适用于 SAP、大型企业应用,专注于企业级可靠性。
    • Amazon Linux
      • AWS 官方 Linux 发行版,针对 AWS 进行了优化,适用于云计算。

    3. 容器 / 云计算 / DevOps

    • Ubuntu Server
      • 适用于 Docker、Kubernetes,支持 cloud-init,兼容 AWS/GCP/Azure。
    • Debian
      • 轻量级,适用于自定义容器环境,基础镜像占用较小。
    • RHEL / Rocky Linux / AlmaLinux
      • 适用于企业级 Kubernetes 部署(如 OpenShift)。
    • Flatcar Container Linux
      • 专为容器化工作负载设计(类似于已停更的 CoreOS)。

    4. 嵌入式 / 轻量级服务器

    • Alpine Linux
      • 体积小,安全性高,适用于容器和嵌入式设备。
    • Raspberry Pi OS
      • 适用于树莓派、物联网(IoT)项目。
    • NixOS
      • 优势:声明式配置,可重复构建,适合构建高度定制化的嵌入式系统。
      • 适用场景:需要高度定制化和可重复构建的嵌入式系统。
      • 缺点:学习曲线陡峭。