Android

Utos ng Dmesg sa linux

dmesg session

dmesg session

Talaan ng mga Nilalaman:

Anonim

Ang Linux kernel ay ang pangunahing ng operating system na kinokontrol ang pag-access sa mga mapagkukunan ng system, tulad ng CPU, I / O na aparato, pisikal na memorya, at mga file system. Ang kernel ay nagsusulat ng iba't ibang mga mensahe sa kernel ring buffer sa proseso ng boot, at kapag tumatakbo ang system. Ang mga mensahe na ito ay nagsasama ng iba't ibang impormasyon tungkol sa pagpapatakbo ng system.

Ang kernel ring buffer ay isang bahagi ng pisikal na memorya na humahawak ng mga mensahe ng log ng kernel. Mayroon itong isang nakapirming laki, na nangangahulugang kapag puno ang buffer, ang mga nakatatandang tala ng mga tala ay na-overwrite.

Ang utility na utos ng dmesg ay ginagamit upang mai-print at kontrolin ang kernel singsing na buffer sa Linux at iba pang mga operating system na Unix. Ito ay kapaki-pakinabang para sa pagsusuri ng mga mensahe ng kernel boot at pag-debug ng mga isyu na may kaugnayan sa hardware.

Sa tutorial na ito, takpan namin ang mga pangunahing kaalaman ng utos ng dmesg .

Paggamit ng dmesg Command

Ang syntax para sa utos ng dmesg ay ang mga sumusunod:

dmesg

Kapag nag-invoke nang walang anumang mga pagpipilian dmesg nagsusulat ng lahat ng mga mensahe mula sa kernel ring buffer hanggang sa karaniwang output:

dmesg

Bilang default, ang lahat ng mga gumagamit ay maaaring patakbuhin ang utos ng dmesg . Gayunpaman, sa ilang mga system, ang pag-access sa dmesg ay maaaring limitahan para sa mga hindi gumagamit ng ugat. Sa sitwasyong ito, kapag nagsusumite ng dmesg makakakuha ka ng isang mensahe ng error tulad ng sa ibaba:

dmesg: read kernel buffer failed: Operation not permitted

Tinutukoy ng kernel parameter kernel.dmesg_restrict kung ang mga hindi pinapayagan na mga gumagamit ay maaaring gumamit ng dmesg upang matingnan ang mga mensahe mula sa buffer ng log ng kernel. Upang alisin ang mga paghihigpit, itakda ito sa zero:

sudo sysctl -w kernel.dmesg_restrict=0

Karaniwan, ang output ay naglalaman ng maraming mga linya ng impormasyon, kaya lamang ang huling bahagi ng output ay makikita. Upang makita ang isang pahina nang sabay-sabay, i-pipe ang output sa isang pager utility tulad ng less o more :

dmesg --color=always | less

Ang --color=always ginagamit upang mapanatili ang kulay na output.

dmesg | grep -i usb

Binasa ng dmesg ang mga mensahe na nilikha ng kernel mula sa /proc/kmsg virtual file. Ang file na ito ay nagbibigay ng isang interface sa buffer singsing ng kernel at mabubuksan lamang ng isang proseso. Kung ang proseso ng syslog ay tumatakbo sa iyong system at sinubukan mong basahin ang file na may cat , o less , ang utos ay mag-hang.

Ang syslog daemon ay nagtatapon ng mga mensahe ng kernel sa /var/log/dmesg , kaya maaari mo ring gamitin ang log file na iyon:

cat /var/log/dmesg

Pagbuo ng dmesg Output

Ang utos ng dmesg nagbibigay ng isang bilang ng mga pagpipilian na makakatulong sa iyo na i-format at i-filter ang output.

Ang isa sa mga pinaka ginagamit na pagpipilian ng dmesg ay -H ( --human ), na nagbibigay-daan sa --human output ng tao. Ang pagpipiliang ito pipe ang command output sa isang pager:

dmesg -H

Upang i-print ang nababasa ng mga timestamp ng tao na gamitin ang opsyon na -T ( --ctime ):

dmesg -T

IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

Ang format ng timestamps ay maaari ring itakda gamit ang --time-format pagpipilian, na maaaring maging ctime, reltime, delta, notime, o iso. Halimbawa na gamitin ang format ng delta na iyong i-type:

dmesg --time-format=delta

Maaari mo ring pagsamahin ang dalawa o higit pang mga pagpipilian:

dmesg -H -T

Upang mapanood ang output ng utos ng dmesg sa real-time na gamitin ang -w ( --follow ) na pagpipilian:

dmesg --follow

Pag-filter ng dmesg Output

Maaari mong paghigpitan ang output ng dmesg sa naibigay na mga pasilidad at antas.

Ang pasilidad ay kumakatawan sa proseso na lumikha ng mensahe. Sinusuportahan ng dmesg ang mga sumusunod na pasilidad ng log:

  • kern - mensahe ng kernel na user - mga mensahe ng antas ng gumagamit mail - mail system daemon - system daemons auth - mensahe ng seguridad / pahintulot syslog - panloob na mga mensahe ng syslogd lpr - linya ng news subsystem ng printer - network ng subsystem ng balita

Ang -f ( -f --facility ) Pinapayagan ka ng pagpipilian na limitahan ang output sa mga tukoy na pasilidad. Tumatanggap ang pagpipilian ng isa o higit pang mga pag-hiwalay sa comma.

Halimbawa, upang ipakita lamang ang mga mensahe ng kernel at system daemons na gagamitin mo:

dmesg -f kern, daemon

Ang bawat mensahe ng log ay nauugnay sa antas ng log na nagpapakita ng kahalagahan ng mensahe. Sinusuportahan ng dmesg ang mga sumusunod na antas ng pag-log:

  • emerg - ang sistema ay hindi magagamit na alert - dapat gawin agad na aksyon - pagkilos ng kritikal na mga kondisyon - mali ang mga kondisyon ng error - babala ang mga kondisyon ng babala - normal ngunit makabuluhang info kundisyon - impormasyong debug - debug na antas ng debug

Ang -l ( --level ) Pinipigilan ng opsyon ang output sa tinukoy na mga antas. Tumatanggap ang pagpipilian ng isa o higit pang mga antas na pinaghihiwalay ng kuwit.

Ang sumusunod na utos ay nagpapakita lamang ng mga error at kritikal na mga mensahe:

dmesg -l err, crit

Paglinis ng Ring Buffer

Ang opsyon na -C ( --clear ) ay nagbibigay-daan sa iyo upang limasin ang singsing na buffer:

sudo dmesg -C

Ang mga ugat o mga gumagamit lamang na may mga pribilehiyo ng sudo ang maaaring malinis ang buffer.

Upang i-print ang mga nilalaman ng buffer bago linisin ang paggamit ng -c ( --read-clear ) na pagpipilian:

sudo dmesg -c

dmesg > dmesg_messages

Konklusyon

Ang utos ng dmesg nagbibigay-daan sa iyo upang tingnan at kontrolin ang kernel singsing na buffer. Maaari itong maging kapaki-pakinabang kapag pag-aayos ng mga isyu sa kernel o hardware.

I-type ang man dmesg sa iyong terminal para sa impormasyon tungkol sa lahat ng magagamit na mga pagpipilian sa dmesg .

dmesg kernel terminal