利用6 个 Linux 运维典型问题来分析处理问题的思路

Linux爱好者 2018-01-13 10:37 次阅读

作为一名合格的 Linux 运维工程师,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,这里给出一个处理问题的一般思路:

重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决。

查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/var/log)和应用的日志文件,结合这两个日志文件,一般就能定位问题所在。

分析、定位问题:这个过程是比较复杂的,根据报错信息,结合日志文件,同时还要考虑其它相关情况,最终找到引起问题的原因。

解决问题:找到了问题出现的原因,解决问题就是很简单的事情了。

从这个流程可以看出,解决问题的过程就是分析、查找问题的过程,一旦确定问题产生的原因,故障也就随之解决了。

结合上面介绍的 Linux 运维问题的解决思路后,下面我们挑选了6个比较典型的 Linux 运维问题,来看看是如何分析和解决的:
利用6 个 Linux 运维典型问题来分析处理问题的思路

问题 1:文件系统破坏导致系统无法启动

Checking root filesystem

/dev/sda6 contains a file system with errors, check forced

An error occurred during the file system check

这个错误可以看出,操作系统 / dev/sda6 分区文件系统出现了问题,这个问题发生的机率很高,通常引起这个问题的原因主要是系统突然断电,引起文件系统结构不一致,一般情况下,解决此问题的方法是采用 fsck 命令,进行强制修复。

# umount /dev/sda6

# fsck.ext3 -y /dev/sda6

问题 2:“Argument list too long” 错误与解决方法

# crontab -e

编辑完后保存退出后,报错 no space left on device

根据上面的报错了解到是磁盘空间满了,那么首先是检查磁盘空间,

# df -h

查看到是 / var 磁盘分区空间已经达到 100%,至此定位了问题所在。是 / var 磁盘空间饱满导致,因为 crontab 会在保存时将文件信息写到 / var 目录下面,然而这个磁盘没有空间了,所以报错。

接着通过命令 du –sh * 命令检查 / var 目录下面的所有文件或者目录的大小,发现 / var/spool/clientmqueue 目录占用了 / var 整个分区大小的 90%,那么 / var/spool/clientmqueue 目录下的文件都是怎么产生的,能否删除,基本上都是邮件信息,可以删除

# rm *

/bin/rm :argument list too long

当在 linux 系统中试图传递太多参数给一个命令时,就会出现 “argument list too long” 错误,这是 linux 系统一直以来都有的限制,查看这个限制可以通过命令 “getconf ARG_MAX” 来实现,

# getconf ARG_MAX

# more /etc/issue 查看版本

解决方法:1、

# rm [a-n]* -rf

# rm [o-z]* -rf

2、使用 find 命令来删除

# find /var/spool/clientmqueue –type f –print –exec rm –f {} ;

3、通过 shell 脚本

#/bin/bash

RM_DIR=’/var/spool/clientmqueue’

cd $RM_DIR

for I in `ls`

do

rm –f $i

done

4、重新编译内核

需要手动增加内核中分配给命令行参数的页数,打开 kernel source 下面的 include/linux/binfmts.h 文件,找到如下行:

#denfine MAX_ARG_PAGES 32

将 32 改为更大的值,例如 64 或者 128,然后重新编译内核

问题 3:inode 耗尽导致应用故障

客户的一台 Oracle 数据库如武器在关机重启后,Oracle 监听无法启动,提示报错 Linux error : No space left on device

从输出信息看出来是因为磁盘耗尽导致监听无法启动,因为 Oracle 在启动监听时需要创建监听日志文件,于是首先查看磁盘空间使用情况

# df -h

从磁盘输出信息可知,所有的分区磁盘空间都还有剩余不少,而 Oracle 监听写日志的路径在 / var 分区下,/var 下分区空间足够。

解决思路:

既然错误提示语磁盘空间有关,那就深入研究关于磁盘空间的问题,在 linux 系统中对磁盘空间的占用分为三个部分:第一个是物理磁盘空间,第二个是 inode 节点所占用的磁盘空间,第三个是 linux 用来存放信号量的空间,而平时接触较多的是物理磁盘空间。既然不是物理磁盘空间的问题,接着就检查是否是 inode 节点耗尽的问题,通过执行命令 “df -i” 查看可用的 inode 节点。由输出结果看出确实是因为 inode 耗尽导致无法写入文件。

可以通过下面的命令查看某个磁盘分区 inode 的总数

# dumpe2fs -h /dev/sda3 |grep ‘Inode count’

每个 inode 都有一个号码,操作系统用 inode 号码来区分不同的文件,通过‘ls -i’命令可以查看文件名对应的 inode 号

如果要查看这个文件更详细的 inode 信息,可以通过 stat 命令来实现

# stat install.log

解决问题

# find /var/spool/clientmqueue/ -name “*” -exec rm -rf {} ;

问题 4:文件已经删除,但是空间没有释放的原因

运维监控系统发来通知,报告一台服务器空间满了,登陆服务器查看,根分区确实满了,这里先说一下服务器的一些删除策略,由于 linux 没有回收站功能,所以线上服务器上所有要删除的文件都会先移到系统 / tmp 目录下,然后定期清除 / tmp 目录下的数据。这个策略本身没有什么问题,但是通过检查发现这台服务器的系统分区中并没有单独划分 / tmp 分区,这样 / tmp 下的数据其实占用根分区的空间,既然找到了问题,那么删除 / tmp 目录下一些占用空间较大的数据文件即可。

# du -sh /tmp/* | sort -nr |head -3

通过命令发现在 / tmp 目录下有个 66G 大小的文件 access_log,这个文件应该是 apache 产生的访问日志文件,从日志大小来看,应该是很久没有清理的 apache 日志文件了,基本判定是这个文件导致的根空间爆满,在确认此文件可以删除后,执行如下删除命令,

# rm /tmp/access_Iog

# df -h

从输出来看,根分区空间仍然没有释放,这是怎么回事

一般来说不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件进程锁定,或者有进程一直在向这个文件写数据,要理解这个问题,就需要知道 linux 下文件的存储机制和存储结构。

一个文件在文件系统中存放分为两个部分:数据部分和指针部分,指针位于文件系统的 meta-data 中,在将数据删除后,这个指针就从 meta-data 中清除了,而数据部分存储在磁盘中。在将数据对应的指针从 meta-data 中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除 access_log 文件后,空间还没有释放,就是因为 httpd 进程还在一直向这个文件写入内容,导致虽然删除了 access_Ilog 文件,但是由于进程锁定,文件对应的指针部分并未从 meta-data 中清除,而由于指针并未删除,系统内核就认为文件并未被删除,因此通过 df 命令查询空间并未释放。

问题排查:

既然有了解决思路,那么接下来看看是否有进程一直在向 access_log 文件中写入数据,这里需要用到 linux 下的 losf 命令,通过这个命令可以获取一个仍然被应用程序占用的已删除文件列表

# lsof | grep delete

从输出可以看出,/tmp/access_log 文件被进程 httpd 锁定,而 httpd 进程还一直向这个文件写入日志数据,最后一列的‘deleted’状态说明这个日志文件已经被删除,但是由于进程还在一直向此文件写入数据,因此空间并未释放。

解决问题:

到这里问题就基本排查清楚了,解决这一类问题的方法有很多,最简单的方法就是关闭或者重启 httpd 进程,当然重启操作系统也可以。不过这些并不是最好的办法,对待这种进程不停对文件写日志的操作,要释放文件占用的磁盘空间,最好的方法是在线清空这个文件,具体可以通过如下命令完成:

# echo “”>/tmp/access_log

通过这种方法,磁盘空间不但可以马上释放,也可以保障进城继续向文件写入日志,这种方法经常用于在线清理 apache /tomcat/nginx 等 web 服务产生的日志文件。

问题 5:"too many open files" 错误与解决方法

问题现象:这是一个基于 java 的 web 应用系统,在后台添加数据时提示无法添加,于是登陆服务器查看 tomcat 日志,发现如下异常信息,java.io.IOException: Too many open files

通过这个报错信息,基本判断是系统可以用的文件描述符不够了,由于 tomcat 服务室系统 www 用户启动的,于是以 www 用户登陆系统,通过 ulimit –n 命令查看系统可以打开最大文件描述符的数量,输出如下:

$ ulimit -n

65535

可以看到这台服务器设置的最大可以打开的文件描述符已经是 65535 了,这么大的值应该够用了,但是为什么提示这样的错误呢

解决思路,这个案例涉及 ulimit 命令的使用

在使用 ulimit 时,有以下几种使用方法:

1、 在用户环境变量中加入

如果用户使用的是 bash,那么可以在用户目录的环境变量文件. bashrc 或者. bash_profile 中加入 “ulimit –u128” 来限制用户最多可以使用 128 个进程

2、 在应用程序的启动脚本中加入

如果应用程序是 tomcat,那么可以再 tomcat 的启动脚本 startup.sh 中加入‘ulimit -n 65535’来限制用户最多可以使用 65535 个文件描述符

3、 直接在 shell 命令终端执行 ulimit 命令

这种方法的资源限制仅仅在执行命令的终端生效,在退出或者和关闭终端后,设置失效,并且这个设置不影响其他 shell 终端

解决问题:

在了解 ulimit 知识后,接着上面的案例,既然 ulimit 设置没有问题,那么一定是设置没有生效导致的,接下来检查下启动 tomcat 的 www 用户环境变量是否添加 ulimit 限制,检查后发现,www 用户并无 ulimit 限制。于是继续检查 tomcat 启动脚本 startup.sh 文件是否添加了 ulimit 限制,检查后发现也没有添加。最后考略是否将限制加到了 limits.conf 文件中,于是检查 limits.conf 文件,操作如下

# cat /etc/security/limits.conf | grep www

www soft nofile 65535

www hard nofile 65535

从输出可知,ulimit 限制加在 limits.conf 文件中,既然限制已经添加了,配置也没有什么错,为何还会报错,经过思考,判断只有一种可能,那就是 tomcat 的启动时间早于 ulimit 资源限制的添加时间,于是首先查看下 tomcat 启动时间,操作如下

# uptime

Up 283 days

# pgrep -f tomcat

4667

# ps -eo pid,lstart,etime|grep 4667

4667 Sat Jul 6 09;33:39 2013 77-05:26:02

从输出可以看出,这台服务器已经有 283 没有重启了,而 tomcat 是在 2013 年 7 月 6 日 9 点启动的,启动了将近 77 天,接着继续看看 limits.conf 文件的修改时间,

# stat /etc/security/limits.conf

通过 stat 命令清除的看到,limits.conf 文件最后的修改时间是 2013 年 7 月 12,晚于 tomcat 启动时间,清楚问题后,解决问题的方法很简单,重启一下 tomcat 就可以了。

问题 6:Read-only file system 错误与解决方法

解析:出现这个问题的原因有很多种,可能是文件系统数据块出现不一致导致的,也可能是磁盘故障造成的,主流 ext3/ext4 文件系统都有很强的自我修复机制,对于简单的错误,文件系统一般都可以自行修复,当遇到致命错误无法修复的时候,文件系统为了保证数据一致性和安全,会暂时屏蔽文件系统的写操作,讲文件系统 变为只读,今儿出现了上面的 “read-only file system” 现象。

手工修复文件系统错误的命令式 fsck,在修复文件系统前,最好卸载文件系统所在的磁盘分区

# umount /www/data

Umount : /www/data: device is busy

提示无法卸载,可能是这个磁盘中还有文件对应的进程在运行,检查如下:

# fuser -m /dev/sdb1

/dev/sdb1: 8800

接着检查一下 8800 端口对应的什么进程,

# ps -ef |grep 8800

检查后发现时 apache 没有关闭,停止 apache

# /usr/local/apache2/bin/apachectl stop

# umount /www/data

# fsck -V -a /dev/sdb1

# mount /dev/sdb1 /www/data

热门推荐

原文标题:6 个 Linux 运维典型问题,大牛的分析解决思路在这里

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

Linux文件缓存使用情况和命中率查看的工具详细概述

这里总结几个Linux文件缓存(page cache)使用情况、命中率查看的工具。

的头像 Linuxer 发表于 06-18 17:51 31次 阅读
Linux文件缓存使用情况和命中率查看的工具详细概述

Windows和Linux的区别以及Linux系统的目录结构

本文先对 Windows 和 Linux 上面文件系统原理、组织概念进行区分,并给出例子、列举两者的....

的头像 Linux爱好者 发表于 06-18 17:37 41次 阅读
Windows和Linux的区别以及Linux系统的目录结构

USB摄像头的描述符和驱动程序有什么关系吗?

发表于 06-16 16:24 74次 阅读
USB摄像头的描述符和驱动程序有什么关系吗?

请问cortex-a8端如何调用video-M3编码功能?源码文件又是哪些?

发表于 06-15 01:30 25次 阅读
请问cortex-a8端如何调用video-M3编码功能?源码文件又是哪些?

基于omapl138的uart2和FPGA通讯,请问如何修改arm Linux内核的配置?

发表于 06-15 00:07 36次 阅读
基于omapl138的uart2和FPGA通讯,请问如何修改arm Linux内核的配置?

Linux内存配置:overcommit的设置

使用版本管理工具的工程师都熟悉commit的含义,就是向代码仓库提交自己更新的意思,对于这个场景,实....

的头像 Linuxer 发表于 06-14 11:45 160次 阅读
Linux内存配置:overcommit的设置

Chrome OS将获Linux支持,可在Chrome OS 上运行Linux?

继添加了安卓应用支持后,Chrome OS现在又将获得Linux支持。此前,IT之家报道了 Term....

的头像 39度创意研究所 发表于 06-14 08:45 223次 阅读
Chrome OS将获Linux支持,可在Chrome OS 上运行Linux?

如何在Linux中使用SIM7100模块的详细资料概述

本文档的主要内容详细介绍的是如何在Linux中使用SIM7100模块的详细资料概述

发表于 06-14 08:00 17次 阅读
如何在Linux中使用SIM7100模块的详细资料概述

Linux用户与用户组的关系详解

在 linux 中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。

的头像 马哥Linux运维 发表于 06-13 14:30 199次 阅读
Linux用户与用户组的关系详解

Web Installer介绍和提供的各种特性以及优点的详细资料概述

你有没有注意到在Netflix流媒体视频播放时,有时候视频模糊,然后很快恢复到高质量? 你知道Net....

的头像 嵌入式资讯精选 发表于 06-12 19:44 402次 阅读
Web Installer介绍和提供的各种特性以及优点的详细资料概述

Linux内核中的hash与bucket

哈希表(Hashtable)又称为“散列”,Hashtable是会根据索引键的哈希程序代码组织成的索....

的头像 嵌入式ARM 发表于 06-12 14:53 247次 阅读
Linux内核中的hash与bucket

请问在TI的DVRRDK软件包中,SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL这条命令的含义是什么?

发表于 06-11 08:37 46次 阅读
请问在TI的DVRRDK软件包中,SYSTEM_COMMON_CMD_SET_CH2IVAHD_MAP_TBL这条命令的含义是什么?

9个超有趣的Linux命令使用动画演示详细介绍

Linux最强大的一个特征就是它有大量的各种小命令工具,这也可以称做是它最有趣的一个地方了。

的头像 马哥Linux运维 发表于 06-10 09:19 355次 阅读
9个超有趣的Linux命令使用动画演示详细介绍

Unix和Linux有什么区别?

近些年来,随着 Android 和基于 Linux 的嵌入式系统在智能手机、电视、汽车和其他设备中的....

的头像 Linux爱好者 发表于 06-08 17:57 436次 阅读
Unix和Linux有什么区别?

总结一些在LwIP移植的时候体会

之前做了很多linux驱动开发,也了解到RT-Thread是类linux的一种RTOS,也怪自己太直....

的头像 电子发烧友网 发表于 06-08 09:33 735次 阅读
总结一些在LwIP移植的时候体会

请问应该如何解决编译codec_engine_3_22_01_06出现的问题?

发表于 06-07 08:06 47次 阅读
请问应该如何解决编译codec_engine_3_22_01_06出现的问题?

请问谁有TRF7970 的linux驱动,spi接口的?

发表于 06-06 12:23 125次 阅读
请问谁有TRF7970 的linux驱动,spi接口的?

Linux Mint 19“Tara”beta版发布

Linux Mint 团队已正式宣布推出 Linux Mint 19 "Tara" 的首个 beta....

的头像 Linux爱好者 发表于 06-06 09:07 213次 阅读
 Linux Mint 19“Tara”beta版发布

OMAP3 Linux系统启动后,mmc1_clk默认会有输出这是为什么?怎么解决这个问题?

发表于 06-06 08:27 39次 阅读
OMAP3 Linux系统启动后,mmc1_clk默认会有输出这是为什么?怎么解决这个问题?

学习Linux的基础知识的详细中文资料概述

这本书的所有内容是学习Linux的基础,这些内容是基础中的基础,如果您能将其中的文字都看完并且消化过....

发表于 06-06 08:00 49次 阅读
学习Linux的基础知识的详细中文资料概述

Linux进程的概念及进程通信的应用场景

管道是由内核管理的一个缓冲区,相当于我们放入内存中的一个纸条。管道的一端连接一个进程的输出。这个进程....

的头像 嵌入式ARM 发表于 06-05 16:44 503次 阅读
Linux进程的概念及进程通信的应用场景

嵌入式Linux系统开发教程及案例分析

本文主要介绍了嵌入式Linux系统开发教程及案例分析。

发表于 06-05 12:00 45次 阅读
嵌入式Linux系统开发教程及案例分析

了解下五大嵌入式操作系统

FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让....

的头像 电子发烧友网 发表于 06-05 09:43 363次 阅读
了解下五大嵌入式操作系统

嵌入式linux开发详细资料

本文主要介绍了嵌入式linux开发详细资料。

发表于 06-05 08:00 33次 阅读
嵌入式linux开发详细资料

请问am335x有没有可用的Linux发行版或是有移植好X的filesystem?

发表于 06-04 14:27 228次 阅读
请问am335x有没有可用的Linux发行版或是有移植好X的filesystem?

请问AM339 Starter Kit上电没有反应是怎么回事?

发表于 06-04 11:43 145次 阅读
请问AM339 Starter Kit上电没有反应是怎么回事?

AM335X Linux NAND flash driver导引

发表于 06-04 10:24 157次 阅读
AM335X Linux NAND flash driver导引

Purism计划在将到来的Librem 5 Linux智能机上,默认使用GNOME的一个移动版本

GNOME 开发团队刚刚宣布了一个好消息,因为有位神秘人士承诺会分两年时间、向非盈利性质的 GNOM....

的头像 Linux爱好者 发表于 06-02 10:31 747次 阅读
Purism计划在将到来的Librem 5 Linux智能机上,默认使用GNOME的一个移动版本

eGuideDog——Linux 界的导盲犬

在近 30 年的发展中,Linux 先后衍生出了众多发行版本。比如妇孺皆知的 Android,还有开....

的头像 Linux爱好者 发表于 06-02 10:21 463次 阅读
eGuideDog——Linux 界的导盲犬

Linux的中文学习方法详细资料(免费下载)

Linux 操作系统最初是在 1991 年 10 月份由芬兰赫尔辛基大学的在校生 Linus Tor....

发表于 06-01 13:00 67次 阅读
Linux的中文学习方法详细资料(免费下载)

什么是系统调用?为什么要用系统调用?

实际上,很多已经被我们习以为常的C语言标准函数,在Linux平台上的实现都是靠系统调用完成的,所以如....

的头像 EDN电子技术设计 发表于 06-01 08:44 948次 阅读
什么是系统调用?为什么要用系统调用?

任天堂Switch被黑客破解 成功安装Linux系统

推特中包含的一张照片显示了运行Debian的Switch,黑客团队说这个漏洞攻击是针对启动ROM中的....

的头像 39度创意研究所 发表于 05-31 19:11 405次 阅读
任天堂Switch被黑客破解 成功安装Linux系统

如何避免僵尸进程,多线程的实现原理

创建一个进程时,它的第一个线程称为主线程(Primary thread),由系统自动生成。然后可以由....

的头像 嵌入式ARM 发表于 05-31 14:37 1915次 阅读
如何避免僵尸进程,多线程的实现原理

为什么选择Linux操作系统?制约标准Linux操作系统实时性的因素

Xenomai正是充分利用了Adeos技术,它的首要目标是帮助人们尽量平缓地移植那些依赖传统RTOS....

的头像 嵌入式ARM 发表于 05-30 14:24 1004次 阅读
为什么选择Linux操作系统?制约标准Linux操作系统实时性的因素

大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源

迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源。

发表于 05-29 14:46 193次 阅读
大干货!迅为IMX6开发板丨Android丨Ubuntu丨Linux丨三大系统全开源

关于EDA设计 这几个问题你一定要知道

Linux服务器的性价比有多高?举例来说,某集成电路设计中心机房的IC设计服务器是2004年采购,采....

发表于 05-29 07:18 138次 阅读
关于EDA设计 这几个问题你一定要知道

如何创建有多个Linux发行版的可启动USB

我们有一个工具正好可以做到在单个 U 盘上保留多个 Linux 发行版。你所需要做的只是选择要安装的....

的头像 马哥Linux运维 发表于 05-28 17:39 712次 阅读
如何创建有多个Linux发行版的可启动USB

一文读懂Linux的文档内容(属性、拥有者、群组、权限)

为了保护每个人的隐私和工作环境,针对某一个文档(文件、目录),Linux系统定义了三种身份,分别是拥....

的头像 Linux爱好者 发表于 05-28 16:07 704次 阅读
一文读懂Linux的文档内容(属性、拥有者、群组、权限)

浅谈Linux中ls 命令(20 个实用范例分析)

ls命令用于列出文件和目录,默认列出当前目录的内容。带上参数后,我们可以用ls做更多的事情。这里是一....

的头像 马哥Linux运维 发表于 05-28 16:03 615次 阅读
浅谈Linux中ls 命令(20 个实用范例分析)

联想提出预装单独的国产Linux系统的建议

昨天有报道称,联想在中央某采购中心关于预装国产操作系统的投票会上投了反对票一事属实。联想昨晚回应记者....

的头像 电子发烧友网工程师 发表于 05-27 05:31 1020次 阅读
联想提出预装单独的国产Linux系统的建议

基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息

最后是每个程序的资源占用列表,其中 CPU 的使用率是所有 CPU core 占用率的总和。通常执行....

的头像 马哥Linux运维 发表于 05-25 17:28 1403次 阅读
基于Linux操作系统的服务器运行的同时,也会表征出各种各样参数信息

初学者是选ARM7还是ARM9?uCOS还是Linux?

本文首先介绍了ARM7、ARM9和uCOS及Linux这四者的概念,其次阐述了ARM7与ARM9的区....

发表于 05-25 11:16 391次 阅读
初学者是选ARM7还是ARM9?uCOS还是Linux?

基于嵌入式Linux的语音识别系统硬软件设计详细讲解教程

该设计运用三星公司的S3C2440,结合ICRoute公司的高性能语音识别芯片LD3320,进行了语....

发表于 05-24 15:15 561次 阅读
基于嵌入式Linux的语音识别系统硬软件设计详细讲解教程

嵌入式Linux主设备号和次设备号的获取

静态分配设备号,就是驱动程序开发者,静态地指定一个设备号。对于一部分常用的设备,内核开发者已经为其分....

的头像 嵌入式ARM 发表于 05-23 17:18 504次 阅读
嵌入式Linux主设备号和次设备号的获取

OMAP35x Linux PSP数据表

本文档提供了OMAP35X Linux PSP包的一部分的设备驱动程序的概述和性能数据。

发表于 05-22 09:24 46次 阅读
OMAP35x Linux PSP数据表

通过这10个基础命令开始掌握Linux命令行

如果你对 Linux 感兴趣,但是一直在使用 PC 或者 Mac 桌面,你可能想知道你需要知道什么才....

的头像 Linux爱好者 发表于 05-21 17:21 687次 阅读
通过这10个基础命令开始掌握Linux命令行

用30个实例探索top命令的细节

最全Linux TOP命令使用教程!

的头像 马哥Linux运维 发表于 05-20 10:20 558次 阅读
用30个实例探索top命令的细节

技术帖:如何在 Linux 中使用 find

find 是日常工具箱中功能更强大、更灵活的命令行工具之一,因此值得花费更多的时间。

的头像 Linux爱好者 发表于 05-20 10:11 535次 阅读
技术帖:如何在 Linux 中使用 find

NXP的Cortex-M系列为例做简要介绍Linux开发

单片机与应用处理器的核心区别到底是什么呢?是核心主频的差异?还是Linux系统的支持?又或者是处理器....

的头像 ZLG致远电子 发表于 05-20 08:00 1636次 阅读
NXP的Cortex-M系列为例做简要介绍Linux开发

驱动是如何工作的_Linux设备驱动的固件加载详解

作为一个驱动作者, 你可能发现你面对一个设备必须在它能支持工作前下载固件到它里面. 硬件市场的许多地....

的头像 电子发烧友网工程师 发表于 05-20 07:10 408次 阅读
驱动是如何工作的_Linux设备驱动的固件加载详解

CoreOS与红帽OpenShift联手推动混合云原生服务

红帽公布CoreOS与红帽 OpenShift集成的发展蓝图 CoreOS与红帽 OpenShift....

的头像 电子发烧友网工程师 发表于 05-20 00:44 809次 阅读
CoreOS与红帽OpenShift联手推动混合云原生服务

基于Linux的USB+20+OTG驱动的研究与实现

学习Linux的好帮手,对于大家学习一定帮助

发表于 05-19 10:29 93次 阅读
基于Linux的USB+20+OTG驱动的研究与实现

嵌入式Linux的开机启动流程简单的介绍

这里ROM Code是上电后最先执行的动作,就相当一个启动引导的过程;U-Boot除了初始外设外,还....

的头像 嵌入式ARM 发表于 05-18 15:04 649次 阅读
嵌入式Linux的开机启动流程简单的介绍

设备驱动模型直观的认识

可以看到,我们在使用kobject、kset、ktype结构,就在sysfs虚拟文件系统下创建(通过....

的头像 嵌入式ARM 发表于 05-18 14:58 368次 阅读
设备驱动模型直观的认识

美高森美和SiFive推出HiFive Unleashed扩展板 助力Linux软件和固件开发人员首次构建RISC-V PC

致力于在功耗、安全、可靠性和性能方面提供差异化的领先半导体技术方案供应商美高森美公司(Microse....

的头像 人间烟火123 发表于 05-17 11:23 1306次 阅读
美高森美和SiFive推出HiFive Unleashed扩展板 助力Linux软件和固件开发人员首次构建RISC-V PC

Linux操作系统下C语言编程入门.pdf

Linux操作系统下C语言编程入门

发表于 05-17 10:08 87次 阅读
Linux操作系统下C语言编程入门.pdf

在Linux中安装Vim-anywhere

这仅仅只是一个例子。你甚至可以使用 Vim-anywhere 在烦人的 web 表单或者其他应用上进....

的头像 Linux爱好者 发表于 05-16 09:32 371次 阅读
在Linux中安装Vim-anywhere

生态之痛:没有产业化的研发都是在耍流氓

倪光南在反思芯片发展的问题时也提到:越没人用就越无法获得应用支持,越没有应用支持就越没人用,这是个恶....

的头像 传感器技术 发表于 05-15 17:10 698次 阅读
生态之痛:没有产业化的研发都是在耍流氓

交叉编译工具链的命名规则

ARM 公司推出的编译工具,功能和 arm-none-eabi 类似,可以编译裸机程序(u-boot....

的头像 嵌入式ARM 发表于 05-15 11:06 535次 阅读
交叉编译工具链的命名规则

从全局的视角分析内核对内存的管理

内存溢出的解决办法:1、等比例缩小图片。2、对图片采用软引用,及时进行 recycle( ) 操作。....

的头像 Linuxer 发表于 05-14 14:24 534次 阅读
从全局的视角分析内核对内存的管理