[命令] Linux 命令 arp (ARP 缓存表的管理)

内容一:ARP 缓存表的作用

在本地局域网络中,各个设备的网卡都有自己的 ARP 缓存表,用于记录局域网中各个设备 IP 地址和 MAC 地址的对应关系。

内容二:从本地 ARP 缓存表中清除某个 IP 地址的 ARP 缓存

# arp -d 192.168.0.1

(补充:这里以从本地 ARP 缓存表清楚 IP 地址 192.168.0.1 的 ARP 缓存为例)

内容三:获得 ARP 缓存

# ping 192.168.0.1


补充:
1) 这里以获取 192.168.0.1 的 ARP 缓存为例。
2) 当本地尝试连接 IP 地址 192.168.0.1 时,首先发生 ARP 报文询问 IP 地址 192.168.0.1 的 MAC 地址获得 ARP 缓存。如果此缓存长期没有被使用则会自动删除。如果记录 ARP 缓存过多,那旧的 ARP 缓存会被有限删除

[DEBUG] Linux resolve df command is stuck

Error phenomenon:

Input df command and the command is stuck
Can not us cd / command to access /(root) directory
Can not us ls / command to display /(root) directory

Analysis:

There may be some network storage disconnected

Solution:

Step One: Use mount command to check if there is any disconnected network storage here

# mount

Step Two: Use unmount command to unmount this disconnected network storage

# umount -f -l <nfs storage which is stuck>

[CONTENT] Linux recommended swap size

RHEL6 RHEL7 RHEL8 RHEL9

RAM sizeRecommended swap sizeRecommended swap size if allowing for hibernation
From 0 to 2GB 2 times the RAM size3 times the RAM size
From 2GB to 8GBThe same size of the RAM2 times the RAM size
From 8GB to 64GBAt least 4GB1.5 times the RAM size
From 64GBAt least 4GBHibernation is not recommended
RHEL6 RHEL7 RHEL8 RHEL9 Recommended swap size table

Note: A 100GB swap is recommended if system with over 140 logical processes or over 3TB RAM

Reference:

https://access.redhat.com/solutions/15244

[STEP] Shortcut Script Creation (Windows 10 Edition)

Text:

Step One: Open a PowerShell terminal

(Steps omitted)

Step Two: Execute follow script

$installedapps = get-AppxPackage

$aumidList = @()
foreach ($app in $installedapps)
{
    foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id)
    {
        $aumidList += $app.packagefamilyname + "!" + $id
    }
}

$aumidList
Microsoft.Windows.CloudExperienceHost_cw5n1h2txyewy!App
Microsoft.BioEnrollment_cw5n1h2txyewy!App
1527c705-839a-4832-9118-54d4Bd6a0c89_cw5n1h2txyewy!Microsoft.Windows.FilePicker
c5e2524a-ea46-4f67-841f-6a9465d9d515_cw5n1h2txyewy!App
E2A4F912-2574-4A75-9BB0-0D023378592B_cw5n1h2txyewy!Microsoft.Windows.AppResolverUX
Microsoft.LockApp_cw5n1h2txyewy!WindowsDefaultLockScreen
Microsoft.Win32WebViewHost_cw5n1h2txyewy!DPI.PerMonitorAware
Microsoft.Win32WebViewHost_cw5n1h2txyewy!DPI.SystemAware
Microsoft.Win32WebViewHost_cw5n1h2txyewy!DPI.Unaware
Microsoft.MicrosoftEdgeDevToolsClient_8wekyb3d8bbwe!App
Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy!App
Microsoft.Windows.OOBENetworkCaptivePortal_cw5n1h2txyewy!App
Microsoft.Windows.NarratorQuickStart_8wekyb3d8bbwe!App
Microsoft.Windows.ParentalControls_cw5n1h2txyewy!App
Microsoft.Windows.PeopleExperienceHost_cw5n1h2txyewy!App
Microsoft.Windows.CallingShellApp_cw5n1h2txyewy!Microsoft.Windows.CallingShellApp
Microsoft.Windows.CapturePicker_cw5n1h2txyewy!App
NcsiUwpApp_8wekyb3d8bbwe!App
MicrosoftWindows.UndockedDevKit_cw5n1h2txyewy!App
Windows.CBSPreview_cw5n1h2txyewy!Microsoft.Windows.CBSPreview
Microsoft.Windows.XGpuEjectDialog_cw5n1h2txyewy!Microsoft.Windows.XGpuEjectDialog
Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy!App
Microsoft.Windows.SecHealthUI_cw5n1h2txyewy!SecHealthUI
Microsoft.AccountsControl_cw5n1h2txyewy!App
Microsoft.CredDialogHost_cw5n1h2txyewy!App
Microsoft.Windows.ShellExperienceHost_cw5n1h2txyewy!App
Microsoft.AAD.BrokerPlugin_cw5n1h2txyewy!App
Microsoft.Windows.OOBENetworkConnectionFlow_cw5n1h2txyewy!App
F46D4000-FD22-4DB4-AC8E-4E1DDDE828FE_cw5n1h2txyewy!App
Microsoft.XboxGameCallableUI_cw5n1h2txyewy!Microsoft.XboxGameCallableUI
Microsoft.AsyncTextService_8wekyb3d8bbwe!App
Microsoft.Windows.PinningConfirmationDialog_cw5n1h2txyewy!App
Windows.PrintDialog_cw5n1h2txyewy!Microsoft.Windows.PrintDialog
Microsoft.Windows.Apprep.ChxApp_cw5n1h2txyewy!App
windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel
Microsoft.WindowsCamera_8wekyb3d8bbwe!App
Microsoft.Wallet_8wekyb3d8bbwe!App
RealtekSemiconductorCorp.RealtekAudioControl_dt26b99r8h8gj!App
Microsoft.GetHelp_8wekyb3d8bbwe!App
Microsoft.ECApp_8wekyb3d8bbwe!App
Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe!App
Microsoft.MicrosoftPCManager_8wekyb3d8bbwe!App
Microsoft.MicrosoftPCManager_8wekyb3d8bbwe!PCWndManager
Microsoft.MicrosoftPCManager_8wekyb3d8bbwe!PCManagerService
Microsoft.ScreenSketch_8wekyb3d8bbwe!App
Microsoft.LanguageExperiencePackzh-CN_8wekyb3d8bbwe!App
Microsoft.LanguageExperiencePackzh-TW_8wekyb3d8bbwe!App
Microsoft.LanguageExperiencePacken-GB_8wekyb3d8bbwe!App
Clipchamp.Clipchamp_yxz26nhyzhsrt!App
Clipchamp.Clipchamp_yxz26nhyzhsrt!CLI
AppleInc.iTunes_nzyj5cx40ttqa!iTunes
AppleInc.iTunes_nzyj5cx40ttqa!AppleInc.Defaults
AppleInc.iTunes_nzyj5cx40ttqa!AppleInc.MDCrashReporter
Microsoft.HEIFImageExtension_8wekyb3d8bbwe!App
Microsoft.XboxGameOverlay_8wekyb3d8bbwe!App
Microsoft.XboxSpeechToTextOverlay_8wekyb3d8bbwe!App
Microsoft.Xbox.TCUI_8wekyb3d8bbwe!Microsoft.Xbox.TCUI
Microsoft.WebMediaExtensions_8wekyb3d8bbwe!Microsoft.WebMediaExtensions
Microsoft.XboxIdentityProvider_8wekyb3d8bbwe!Microsoft.XboxIdentityProvider
Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App
Microsoft.Getstarted_8wekyb3d8bbwe!App
Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo
Microsoft.WindowsStore_8wekyb3d8bbwe!App
Microsoft.StorePurchaseApp_8wekyb3d8bbwe!App
Microsoft.VP9VideoExtensions_8wekyb3d8bbwe!App
Microsoft.Whiteboard_8wekyb3d8bbwe!Whiteboard
Microsoft.WebpImageExtension_8wekyb3d8bbwe!App
Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App
Microsoft.XboxGamingOverlay_8wekyb3d8bbwe!App
Microsoft.Windows.Photos_8wekyb3d8bbwe!App
Microsoft.YourPhone_8wekyb3d8bbwe!App
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!App
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!PythonRedirector
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!winget
Microsoft.DesktopAppInstaller_8wekyb3d8bbwe!WinGetComServer
Microsoft.Windows.Search_cw5n1h2txyewy!CortanaUI
Microsoft.Windows.Search_cw5n1h2txyewy!ShellFeedsUI
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!PackageMetadata
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!Global.Accounts
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!Global.AppListBackup
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!Global.BackupBanner
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!Global.DesktopSpotlight
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!InputApp
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!Global.IrisService
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!Global.RulesEngine
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!ScreenClipping
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!WebExperienceHost
MicrosoftWindows.Client.CBS_cw5n1h2txyewy!WindowsBackup
AppleInc.iCloud_nzyj5cx40ttqa!iCloud
AppleInc.iCloud_nzyj5cx40ttqa!iCloudPhotoViewer
AppleInc.iCloud_nzyj5cx40ttqa!iCloudPasswords
AppleInc.iCloud_nzyj5cx40ttqa!iCloudChrome
AppleInc.iCloud_nzyj5cx40ttqa!iCloudPasswordsExtensionHelper
AppleInc.iCloud_nzyj5cx40ttqa!iCloudFirefox
AppleInc.iCloud_nzyj5cx40ttqa!eReporter
AppleInc.iCloud_nzyj5cx40ttqa!iCloudDrive
AppleInc.iCloud_nzyj5cx40ttqa!iCloudPhotos
AppleInc.iCloud_nzyj5cx40ttqa!ApplePhotoStreams
AppleInc.iCloud_nzyj5cx40ttqa!iCloudCKKS
AppleInc.iCloud_nzyj5cx40ttqa!APSDaemon
Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

Step three: Create local boot script

Create a new bat file and create follow content:

start shell:Appsfolder\Microsoft.WindowsTerminal_8wekyb3d8bbwe!App

(Add: taking starting the Terminal application as an example here)

Step Four: Double click this boot script

(Steps omitted)

Reference:

https://forum.rainmeter.net/viewtopic.php?t=22716

[步骤] Linux 虚拟内存 (交换分区) swap 的设置

步骤一:理解 Linux 虚拟内存 (交换分区) swap 使用优先级的设置机制

Linux 的 swappiness 参数用于控制虚拟内存 (交换分区) swap 的使用。
swappiness 参数的默认值是 60,也就是说当物理内存使用率达到 40 时,开始使用虚拟内存 (交换分区) swap。
当 swappiness 参数的值是 0 时,则只有当物理机内存耗尽了以后才会使用虚拟内存 (交换分区) swap。
当 swappiness 参数的值是 100 时,则立刻使用虚拟内存 (交换分区) swap。

步骤二:Linux 虚拟内存 (交换分区) swap 开关的设置

2.1 查看虚拟内存 (交换分区) swap

# swapon -s

2.2 开启虚拟内存 (交换分区) swap

# swapon -a

2.3 关闭虚拟内存 (交换分区) swap

# swapoff -a

2.4 重启虚拟内存 (交换分区) swap

# swapoff -a && swapon -a

步骤三:Linux 虚拟内存 (交换分区) swap 使用优先级的设置

3.1 临时设置虚拟内存 (交换分区) swap 使用优先级的设置

# sysctl -p swappiness=60

或者:

# sysctl vm.swappiness=60

或者:

# echo 60 > /proc/sys/vm/swappiness

(补充:这里以把 swappiness 的值设置成 60 为例)


注意:
1) 临时设置重启后失效
2) 临时设置了以后不会马上生效,只有当系统重新调用内存以后才会生效

3.2 永久设置虚拟内存 (交换分区) swap 使用优先级的设置

3.2.1 修改 /etc/sysctl.conf 文件
# vim /etc/sysctl.conf

添加以下内容:

......
vm.swappiness=60

(补充:这里以把 swappiness 的值设置成 60 为例)

3.2.2 让刚刚修改的 /etc/sysctl.conf 文件生效
# sysctl -p

3.3 查看虚拟内存 (交换分区) swap 使用优先级的设置

3.3.1 通过 /proc/sys/vm/swappiness 文件查看
# cat /proc/sys/vm/swappiness
3.3.2 通过 sysctl vm.swappiness 命令查看
# sysctl vm.swappiness