某个磁盘满了,但是进去找不到文件,排除掉权限、隐藏文件、硬件问题等之后,那还有种可能

lsof -n |grep deleted

kill 杀掉对应进程

出现问题的原因是文件虽然被删除,但是进程没有释放文件的句柄,导致内核不能正常释放对应的存储空间

监控报容器的内存报警,但是进容器查看发现实际没有使用那么多的内存,再看监控数据,确实是超了预警值触发了告警
看配置的指标,用的是container_memory_working_set_bytes和kube_pod_container_resource_limits_memory_bytes ,kube_pod_container_resource_limits_memory_bytes 是当前容器内存限制大小,container_memory_working_set_bytes通过查看cadvisor可知是memory.usage-total_inactive_file,也就是cgroup的memory.usage_in_bytes

进容器的/sys/fs/cgroup/memory目录下

memory.usage_in_bytes 已使用的内存量(包含cache和buffer)(字节),相当于linux的used_meme
memory.limit_in_bytes 限制的内存总量(字节),相当于linux的total_mem
memory.failcnt 申请内存失败次数计数
memory.stat 内存相关状态

memory.usage_in_bytes的计算方式包含rss+cache+buffer,total_active_file和total_inactive_file都包含在cache,cache是不会主动回收的,只有当容器被销毁或者系统内存不足才回去回收,所以才会出现上面的情况

参考博客:https://blog.csdn.net/weixin_39961559/article/details/80496419
https://blog.csdn.net/weixin_39961559/article/details/86432283
https://www.cnblogs.com/276815076/p/5478966.html

登一台以前登过的服务器,但是ssh报了个错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:xxxx
Please contact your system administrator.
Add correct host key in /Users/td/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/td/.ssh/known_hosts:64
Host key for xxx has changed and you have requested strict checking.
Host key verification failed.

一开始还以为哪个给我key整掉了,问了下原来是重装了,把/Users/td/.ssh/known_hosts里面原来的登录记录删掉就行了

linux中有两个重要的进程权限id:

reaal user id(ruid):执行进程者的 user id,一般情况下就是用户登录时的 user id
effective user id(euid):决定进程是否对某个文件有操作权限,默认为ruid

决定某个进程是否拥有某个文件的使用权限的,是euid,比如某文件需要root才能操作,那么euid得是0才行
sudo的原理就是利用了特殊权限s来达到修改euid的效果

如果一个文件拥有x权限,表示这个文件可以被执行。shell执行命令或程序的时候,先fork一个进程,再通过exec函数族执行这个命令或程序,这样的话,执行这个文件的进程的ruid和euid就是当前登入shell的用户id。
当这个文件拥有x权限和s权限时,在shell进行fork后调动exec函数族执行这个文件的时候,这个进程的euid将被系统更改为这个文件的拥有者id。

https://zhuanlan.zhihu.com/p/100404099

last\w确定重启时间
/var/log/messages
dmesg -d -T
journalctl -k --list
journalctl -k -l 重启前的日志号
如果以上都看不出任何问题的话,可能是别的一些棘手的情况,比如这次遇到的就是内核上的bug,messages日志无异常且journalctl丢失重启前的所有日志