Rakesh Jain Profile picture
Jan 22, 2022 β€’ 32 tweets β€’ 9 min read β€’ Read on X
Linux Diagnostics and Troubleshooting Series -

Thread 4 πŸ‘‡

IDENTIFYING HARDWARE ISSUES!

#Linux #diagnostics #troubleshooting #security PC: https://content.nexus.support.com/5b557b9559124044bb566b
Identifying hardware -
An important step in troubleshooting potential hw issues is knowing exactly which hw is present in a system. For virtual systems, this might seem less useful than for a physical system, but it can tell an admin if the correct virtual devices have been added
Identifying CPUs -

The CPU(s) in a running system can be identified with the lscpu command from the util-linux package.

# lscpu
Another useful piece of info is what flags a CPU supports. These flags indicate whether a CPU supports certain extended technologies, such as AES acceleration, hw-assisted virtualization, & many more. These flags can be inspected in /proc/cpuinfo.

# cat /proc/cpuinfo
Point to Note -
The fact that a CPU supports a certain flag doesn't always mean that the feature is available. For eg, the vmx flag on a Intel CPU indicates that d processor is capable of supporting hw virtualization, but d feature itself might be disabled in the system firmware.
Identifying memory -

The dmidecode tool can be used to retrieve info about physical memory banks, including the type, speed, and location of the bank. To retrieve this information, use the command

# dmidecode -t memory
Identifying disks -

To identify physical disks, an administrator can use the command lsscsi from the lsscsi package. This tool can list all physical SCSI (and USB, SATA, and SAS) drives attached to a system.

# apt-get install lsscsi
# lsscsi -v
For more information, the hdparm command from the hdparm package can be used on individual disks.

# hdparm -I /dev/sda
Identifying PCI hardware -

Attached PCI hardware can be identified with the lspci command. Adding one or more -v options will increase the verbosity.

# lspci
Identifying USB hardware -

USB hardware can be identified using the lsusb command. Just like with lspci, verbosity can be increased by adding -v options.

# lsusb
Hardware error reporting -

Modern systems can typically keep a watch on various hw failures, alerting an admin when a hw fault occurs. While some of these solutions r vendor-specific, and require a remote management card, others can be read from the OS in a standardized fashion.
There are two mechanisms for logging hardware faults, mcelog and rasdaemon.

mcelog -
mcelog provides a framework for catching, and logging machine check exceptions on x86 systems. On supported systems, it can also automatically mark bad areas of RAM so that they will not be used
To install and enable mcelog, follow the following procedure:

1. Install the mcelog package.
# apt-get install mcelog

or

# yum install mcelog

Note - On Ubuntu 18.04 onwards The mcelog package functionality has been replaced by rasdaemon.
2. Start and enable the mcelog.service service.

root@lco-linux-worker1:~# systemctl enable mcelog
root@lco-linux-worker1:~# systemctl start mcelog
From now on, hw errors caught by the mcelog daemon will show up in the system journal. Messages can be queried using the cmd journalctl -u mcelog.service. If the abrt daemon is installed and active, it will also trigger on various mcelog messages.
Alternatively, for administrators who do not wish to run a separate service, a cron is set up, but
commented out, in /etc/cron.hourly/mcelog.cron that will dump events into /var/log/mcelog.
rasdaemon -
A modern replacement for mcelog dat hooks into d kernel trace subsystem. It stands for Reliability, Availability, & Serviceability. It hooks into d Error Detection & Correction (EDAC) mechanism for DIMM modules & reports dem to user space & RAS msgs dat come from kts.
To enable rasdaemon, use the following steps:

1. Install the rasdaemon package.
# apt-get install rasdaemon

or

# yum install rasdaemon
2. Start and enable the rasdaemon.service service.

[root@lco-linux-worker1:~# systemctl enable rasdaemon

[root@lco-linux-worker1:~# systemctl start rasdaemon
Information about the various memory banks can be queried using the ras-mc-ctl tool.

Of special interest are ras-mc-ctl --status to show the current status, and ras-mc-ctl -- errors to view any logged errors
Memory testing -

When a physical memory error is suspected, an administrator might want to run an exhaustive
memory test. In these cases, the memtest86+ package can be installed. PC: https://windows-cdn.softpedia.com/screenshots/Memtest86_
Since memory testing on a live system is less than ideal, the memtest86+ package will install a
separate boot entry that runs memtest86+ instead of a regular Linux kernel.

The following steps outline how to enable this boot entry -
1. Install the memtest86+ package; this will install the memtest86+ application into /boot.

[root@lco-linux-worker1:~# yum install memtest86+

or

root@lco-linux-worker1:~# apt-get install memtest86+
2. Run the command memtest-setup. This will add a new template into /etc/grub.d/ to enable memtest86+.

# memtest-setup
There is another utility called memtester.

# apt install memtester
3. Update the grub2 boot loader configuration.

# grub2-mkconfig -o /boot/grub2/grub.cfg
Digging into multiple loggings -

Dmesg allows you to figure out errors and warnings in the kernel's latest messages. For example, here is output of the dmesg | more command:

# dmesg | more
You can also look at all Linux system logs in the /var/log/messages or syslog file, which is where you'll find errors related to specific issues. It's worthwhile to monitor d msgs via the tail cmd in real time when you make modifications to your hw.

# tail -f /var/log/messages
Analyzing networking functions -

You may have hundreds of thousands of cloud-native applications to serve business services in a complex networking environment; these may include virtualization, multiple cloud, and hybrid cloud. PC: https://s3.eu-west-3.amazonaws.com/dealna/uploads/2016/0
This means you should analyze whether networking connectivity is working correctly as part of your troubleshooting. Useful commands to figure out networking functions in the Linux server include ip addr, traceroute, nslookup, dig, and ping, among others.
Conclusion -
Troubleshooting Linux hw requires considerable knowledge, including how to use powerful command-line tools and figure out system loggings. You should also know how to diagnose the kernel space, which is where you can find the root cause of many hardware problems. PC: https://image.winudf.com/v2/image/Y29tLndHYWludGhla25vd2
Hope you like the thread. If yes, retweet it. You can follow me for more such content.

Thanks!

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Rakesh Jain

Rakesh Jain Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @devops_tech

Jan 3
🧡 How to Start Learning Linux for DevOps Aspirants πŸš€πŸ§

From newbie to pro in no time!
Let’s make Linux your ultimate superpower. πŸ¦Έβ€β™‚οΈπŸ¦Έβ€β™€οΈ Image
1/ Start with the Basics πŸ› οΈβœ¨
β€’ Discover Linux distros: Ubuntu 🟣, CentOS πŸ”΅, Red Hat πŸ”΄.
β€’ Set up Linux in a VM (VirtualBox/VMware πŸ’»).
β€’ Get cozy with the terminal – your new BFF! πŸ–₯οΈπŸ‘Š
2/ Master Essential Commands 🎯
Get hands-on with:
β€’ πŸ“‚ Navigation: ls, cd, pwd
β€’ πŸ› οΈ File ops: cp, mv, rm
β€’ πŸ”Ž Search: find, grep, locate
β€’ πŸ”‘ Permissions: chmod, chown

Pro tip: Always consult the man pages (man <command>). πŸ€“πŸ“œ
Read 18 tweets
Dec 6, 2024
🐧 Linux Networking Commands: 10 Daily-Used Examples (Thread) 🧡 Image
1/ ifconfig (Deprecated: Use ip):
Check & configure network interfaces.

ifconfig eth0 up # Enable interface
ifconfig eth0 down # Disable interface

Use ip instead:
ip addr show eth0
ip link set eth0 up

#LinuxNetworking #SysAdmin
2/ ip (Modern Network Management):
Powerful alternative to ifconfig.

ip a # Show IP addresses
ip route # Display routing table
ip link set eth0 up # Enable interface
Read 13 tweets
Nov 21, 2024
Platform Engineer vs. SRE vs. DevOps Engineer!

A Thread 🧡
1/ What’s the difference? πŸ€”
All these roles focus on improving software delivery and reliability but have different goals. Here’s a quick breakdown:
2/ Platform Engineer πŸ‘·
πŸ‘‰ Goal: Make life easier for developers.
β€’ Build tools & platforms (e.g. CI/CD pipelines, Kubernetes)
β€’ Standardize workflows for efficiency
β€’ Create self-service systems so developers can work faster

πŸ› οΈ They focus on improving developer productivity.
Read 9 tweets
Sep 12, 2024
AWS service limitations to keep in mind!

A List of critical #AWS services and their limitations πŸ‘‡ Image
1. EC2 – Instance limits by region, instance type restrictions.
2. RDS – Max database storage limits, instance size restrictions.
3. S3 – Max object size is 5TB, bucket policies can limit access.
4. EBS – Volume size max of 64TB, 20,000 IOPS for io1/io2 volumes.
5. IAM – Max 5,000 roles per account, policy size limits.
6. Lambda – Max execution timeout of 15 minutes, memory max 10GB.
7. DynamoDB – Partition throughput limits, item size max of 400KB.
8. CloudFormation – 200 resources limit per stack.
Read 13 tweets
Sep 9, 2024
Mastering Ansible command line!

A Thread of 10 key #Ansible commands and concepts all #DevOps and #Linux Administrators should focus on πŸ‘‡πŸ‘‡ Image
1️⃣ Check Ansible Version

Command:
ansible --version

Explanation:
Verify your Ansible installation and check version details.
2️⃣ Ping All Hosts

Command:
ansible all -m ping

Explanation:
Ping all hosts in your inventory to ensure they are reachable.
Read 18 tweets
Sep 5, 2024
🧡 Mastering Docker Troubleshooting: 15 Key Tips for Developers and DevOps Engineers!

A Thread πŸ‘‡πŸ‘‡ Image
1/ 🐳 Check Container Status
Use docker ps -a to view all containers and their statuses. A container may have exited unexpectedly.
Look at STATUS and RESTART policies to identify potential issues.
2/ πŸ” Inspect Logs
Run docker logs <container_name> to see the container logs.
This helps troubleshoot crashes, errors, or other issues within the app or service.
Read 18 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(