标签: Linux

心如止水 | 1周前 | Linux

如何选择最合适自己的 linux 系统 ?

Linux 系统从来都不是一个大众的桌面操作系统,它被普罗大众所知更是少之又少。普罗大众更多知道的是 Windows 系统,MacOS系统,而非 Linux 系统。 Linux 系统在特定领域,特定人群是一个被普遍熟知的系统,那就是IT领域,IT人员。因为几乎所有的服务器大多采用 Linux 作为操作系统,因为免费,因为稳定,因为高效,因为服务器软件生态链丰富。 Linux 系统不被普通大众所知,因为他们不需要用 Linux 系统,接触到的几乎也都是 Windows 系统,追求高逼格也是 MacOS 系统。更多时候在大众眼中,没有所谓的系统,只有电脑,各种重品牌电脑:华为,联想,戴尔,苹果等等。 但如果你不经意间了解到了 Linux 系统,有兴趣尝试 Linux 系统,希望摆脱 Windows 系统烦人的广告,Linux 都是一个值得尝试的选项。 那么多对于你如何选择好适合自己的 Linux 系统呢? 之前,我曾经建议新手一定要先尝试中文的 Linux 发行系统 Deepin 和 UbuntuKylin 。因为它们对中文用户都非常友好,自带的应用商店可以让新手对于找...

 30 |  0 |  0 Linux

念旧。 | 2周前 | Linux

linux 路由网关-生产常见问题

关于linux的默认网关 默认网关是一个用于 TCP/IP 协议的配置项,是一个可直接到达的 IP 路由器的 IP 地址。配置默认网关可以在 IP 路由表中创建一个默认路径。 一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。现在主机使用的网关,一般指的是默认网关。 一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。 linux装系统设IP,这应该是系统管理员的基本功,可是不同的网络结构有不同的ip设法。 1.一块网卡的情况 通过命令address,netmask,gateway然后netwok restart。 2.两块网卡的情况 1).一个网关的情况 这种情况也简单,一个网卡设一个ip,其中一个网卡不设置gateway就ok了。这样上网的时候走带网关的那边,这台机器还能和不带网关的那个网络通讯。这种情况在利用linux当路由器或者代理网关的时候比较常见。 2).两个网关的情况...

 52 |  0 |  0 Linux

布朗熊 | 2周前 | Linux

我为什么使用 Linux 做开发?

系统选择 目前市面上主流的桌面操作系统在大多数人眼里只有Windows和MacOS,那为什么我没选择它们两呢? 首先,不选MacOS的原因,就是太贵。当然这是我的原因不是苹果的原因,我最早使用Linux写代码的时候是2018年,那时候刚毕业上班不久,根本买不起Mac(虽然现在也觉得有点贵)。 在没有接触Linux之前,我也是使用Winows的。众所周知,其实Windows也是收费的,那时候用的基本是破解版本的Windows系统。虽然当时买笔记本电脑会预装Windows系统,但是预装的基本都是家庭版。 依稀记得当时Windows家庭版无法开启某些Windows功能(没记错的话当时是无法开启Windows的虚拟化功能),所以就算我买了预装Windows系统的笔记本电脑,依然还是需要自行重装Windows专业版系统,那时候就是使用激活软件破解Windows专业版。 但是作为程序员,我个人是不喜欢去破解软件的,因为我不想以后我写的软件也被别人破解。然后在某些机缘巧合之下,我加入了一些Linux爱好者社区,慢慢开始接触 Linux桌面 。 重新认识Linux 我第...

 61 |  0 |  0 Linux

温酒 | 3周前 | Linux

这些 Linux 脚本很有用,赶紧收藏起来!

这些 Linux 脚本很有用,赶紧收藏起来! Linux 脚本?准确的说叫 Linux Shell 脚本,Shell 脚本是一种被设计用来运行命令行解释器,他是 Linux 系统的一大特色之一。 命令行是 Linux 系统中一种非常重要的交互方式,而它的实现基于 Linux 内核和 Shell 程序,为用户提供了强大和灵活的操作方式。 使用 Linux 系统会点 Linux 脚本非常有用,它可以让你的工作即轻松又高效! 下面是收集整理的部分 Linux 脚本,欢迎收藏! 1、列出排名前10的内存占用进程 ps aux | sort -rk 4,4 | head -n 10 2、iptables 自动屏蔽访问网站频繁的IP 使用场景:针对恶意访问网站情况 根据访问日志(以 nginx 的 logs 中记录访问的 access.log 日志文件为例,检测短期访问大于100的IP,并使用iptables命令进行屏蔽,同时将禁用的IP放到/tmp/deny_ip.log文件中) !/bin/bash DATE=$(date +%

 67 |  0 |  0 Linux

雨馨 | 2023-05-24 | Linux

Linux后台开发调试经验分享

毕业超过十年了,感慨岁月无情。做了若干年后台开发(之前做电信领域),大致说一下常见的开发心得和调试手段。使用互联网这么多年,收获的很多,总结的很少。本着互联网精神,希望可以帮到互联网另一端的你。由于本人是做 C 语言的开发,陈述的经验也是 C 常用的调试手段。 调试很麻烦,困扰着无数程序员们。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看 2 进制;low 一点的就 gdb、看统计;再 low 就加打印。还可以再 low 吗?可以,自己写 bug,别人查。方法林林总总,长期掌握总可以找到适合自己的。 而调试的目的是什么,找到 BUG。想当年一个高手比喻的好:你找 BUG 其实你就是福尔摩斯,为啥是福尔莫斯呢?想想你看到 BUG 案发现场--合格的程序都有日志、dump 内存、计数等基本案发现场吧。嗯,什么都没有,找写代码的人自己查。找问题就是在众多信息中,抽丝剥茧,找到疑点、反复推演程序运行的代码,最终找到作案的那一行或者几行代码。 这个过程很折磨人,没有任何眉目时,令人茶不思饭不想。找到问题问题后,如打鸡血般兴奋,自己也会陶醉般飘飘然。真正...

 321 |  0 |  0 Linux

孤音 | 2023-05-02 | Linux

从Linux零拷贝深入了解Linux-I/O

本文将从文件传输场景以及零拷贝技术深究 Linux I/O 的发展过程、优化手段以及实际应用。 前言 存储器是计算机的核心部件之一,在完全理想的状态下,存储器应该要同时具备以下三种特性: 速度足够快:存储器的存取速度应当快于 CPU 执行一条指令,这样 CPU 的效率才不会受限于存储器; 容量足够大:容量能够存储计算机所需的全部数据; 价格足够便宜:价格低廉,所有类型的计算机都能配备。 但是现实往往是残酷的,我们目前的计算机技术无法同时满足上述的三个条件,于是现代计算机的存储器设计采用了一种分层次的结构: 从顶至底,现代计算机里的存储器类型分别有: 寄存器、高速缓存、主存和磁盘 ,这些存储器的速度逐级递减而容量逐级递增。 存取速度最快的是 寄存器 ,因为寄存器的制作材料和 CPU 是相同的,所以速度和 CPU 一样快,CPU 访问寄存器是没有时延的,然而因为价格昂贵,因此容量也极小,一般 32...

 400 |  0 |  0 Linux

后端小二 | 2023-03-07 | Linux

Linux 中 CPU 利用率是如何算出来的?

在线上服务器观察线上服务运行状态的时候,绝大多数人都是喜欢先用 top 命令看看当前系统的整体 cpu 利用率。例如,随手拿来的一台机器,top 命令显示的利用率信息如下 这个输出结果说简单也简单,说复杂也不是那么容易就能全部搞明白的。例如: 问题 1:top 输出的利用率信息是如何计算出来的,它精确吗? 问题 2:ni 这一列是 nice,它输出的是 cpu 在处理啥时的开销? 问题 3:wa 代表的是 io wait,那么这段时间中 cpu 到底是忙碌还是空闲? 今天我们对 cpu 利用率统计进行深入的学习。通过今天的学习,你不但能了解 cpu 利用率统计实现细节,还能 nice、io wait 等指标有更深入的理解。 区别于以往的文章,今天我们不直接进入 Linux 实现,而是先从自己的思考开始! 一、先思考一下 抛开 Linux 的实现先不谈,如果有如下需求,有一个四核服务器,上面跑了四个进程。 ![图片](http...

 390 |  0 |  0 Linux

观云 | 2023-03-06 | Linux

在 WebAssembly 中使用 C/C++ 和 libbpf 编写 eBPF 程序

eBPF(extended Berkeley Packet Filter)是一种高性能的内核虚拟机,可以运行在内核空间中,用来收集系统和网络信息。随着计算机技术的不断发展,eBPF 的功能日益强大,进而被用来构建各种效率高效的在线诊断和跟踪系统,以及安全的网络和服务网格。 WebAssembly(Wasm)最初是以浏览器安全沙盒为目的开发的,发展到目前为止,WebAssembly 已经成为一个用于云原生软件组件的高性能、跨平台和多语言软件沙箱环境,Wasm 轻量级容器也非常适合作为下一代无服务器平台运行时,或在边缘计算等资源受限的场景高效执行。 现在,借助 Wasm-bpf 编译工具链和运行时,我们可以使用 Wasm 将 eBPF 程序编写为跨平台的模块,同时使用 C/C 或 Rust 来编写 Wasm 程序。通过在 WebAssembly 中使用 eBPF 程序,我们不仅能让 Wasm 应用享受到 eBPF 的高性能和对系统接口的访问能力,还可以让 eBPF 程序使用到 Wasm 的沙箱、灵活性、跨平台性、和动态加载,并且使用 Wasm 的 OCI 镜像来方便、快捷地分发和管

 410 |  1 |  1 Linux

大牛猫 | 2023-03-06 | Linux

Linux负载变高并不一定就是cpu的锅!

负载是查看 Linux 服务器运行状态时很常用的一个性能指标。在观察线上服务器运行状况的时候,我们也是经常把负载找出来看一看。在线上请求压力过大的时候,经常是也伴随着负载的飙高。 但是负载的原理你真的理解了吗?我来列举几个问题,看看你对负载的理解是否足够的深刻。 负载是如何计算出来的? 负载高低和 CPU 消耗正相关吗? 内核是如何暴露负载数据给应用层的? 一、理解负载查看过程 我们经常用 top 命令查看 Linux 系统的负载情况。一个典型的 top 命令输出的负载如下所示。 text top Load Avg: 1.25, 1.30, 1.95 ..... ...... 输出中的 Load Avg 就是我们常说的负载,也叫系统平均负载。因为单纯某一个瞬时的负载值并没有太大意义。所以 Linux 是计算了过去一段时间内的平均值,这三个数分别代表的是过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载值。 那么 top 命令展示的数据数是如何来的呢?事实上,top 命令里的负载值是从 /proc/loadavg 这个伪

 418 |  0 |  0 Linux