PostgreSQL 实例运行状态全面检查

PostgreSQL 实例运行状态全面检查

PostgreSQL 实例的健康检查是数据库运维的核心工作,以下是系统化的状态检查方法和关键指标解读。

一 基础健康检查

1.1 实例可用性检查

# 快速连接测试
pg_isready -h localhost -p 5432 -U postgres -d postgres# 返回状态说明:
# - "accepting connections" → 正常
# - "rejecting connections" → 需紧急处理
# - "no response" → 实例宕机

输出示例:

[pg16@test ~]$ pg_isready -h localhost -p 5777 -U postgres -d postgres
localhost:5777 - accepting connections

1.2 版本与运行时长

SELECT version() AS postgres_version,pg_postmaster_start_time() AS startup_time,current_timestamp - pg_postmaster_start_time() AS uptime;

输出示例:

white=# SELECT 
white-#     version() AS postgres_version,
white-#     pg_postmaster_start_time() AS startup_time,
white-#     current_timestamp - pg_postmaster_start_time() AS uptime;postgres_version                                             |         startup_time         |     uptime      
---------------------------------------------------------------------------------------------------------+------------------------------+-----------------PostgreSQL 16.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit | 2025-04-12 06:07:34.70749-07 | 03:18:18.458812
(1 row)

二 关键性能指标检查

2.1 系统资源视图

-- 内存使用情况
SELECT name,setting,unit,source
FROM pg_settings 
WHERE name IN ('shared_buffers', 'work_mem', 'maintenance_work_mem');-- 连接数统计
select (select count(*) from pg_stat_activity) as current_conn,(select setting::int as max_conn from pg_settings where name='max_connections') max_conn;

输出示例:

white=# SELECT 
white-#     name,
white-#     setting,
white-#     unit,
white-#     source
white-# FROM pg_settings 
white-# WHERE name IN ('shared_buffers', 'work_mem', 'maintenance_work_mem');name         | setting | unit |       source       
----------------------+---------+------+--------------------maintenance_work_mem | 65536   | kB   | defaultshared_buffers       | 32768   | 8kB  | configuration filework_mem             | 4096    | kB   | default
(3 rows)white=# 
white=# 
white=# select 
white-#     (select count(*) from pg_stat_activity) as current_conn,
white-#     (select setting::int as max_conn from pg_settings where name='max_connections') max_conn;current_conn | max_conn 
--------------+----------7 |      100
(1 row)

2.2 实时性能看板

-- 综合性能视图 (PostgreSQL 14+)
SELECT now() - query_start AS duration,datname,usename,wait_event_type,wait_event,state,query
FROM pg_stat_activity
WHERE state != 'idle'
ORDER BY duration DESC
LIMIT 10;

输出示例:

white=# SELECT 
white-#     now() - query_start AS duration,
white-#     datname,
white-#     usename,
white-#     wait_event_type,
white-#     wait_event,
white-#     state,
white-#     query
white-# FROM pg_stat_activity
white-# WHERE state != 'idle'
white-# ORDER BY duration DESC
white-# LIMIT 10;duration | datname | usename  | wait_event_type | wait_event | state  |                query                 
----------+---------+----------+-----------------+------------+--------+--------------------------------------00:00:00 | white   | postgres |                 |            | active | SELECT                              +|         |          |                 |            |        |     now() - query_start AS duration,+|         |          |                 |            |        |     datname,                        +|         |          |                 |            |        |     usename,                        +|         |          |                 |            |        |     wait_event_type,                +|         |          |                 |            |        |     wait_event,                     +|         |          |                 |            |        |     state,                          +|         |          |                 |            |        |     query                           +|         |          |                 |            |        | FROM pg_stat_activity               +|         |          |                 |            |        | WHERE state != 'idle'               +|         |          |                 |            |        | ORDER BY duration DESC              +|         |          |                 |            |        | LIMIT 10;
(1 row)white=# 

三 存储与I/O检查

3.1 数据库存储分析

-- 数据库大小排名
SELECT d.datname AS database,pg_size_pretty(pg_database_size(d.datname)) AS size,pg_size_pretty(sum(pg_relation_size(c.oid))) AS data_size
FROM pg_database d
JOIN pg_class c ON c.relnamespace = d.oid
WHERE c.relkind = 'r'
GROUP BY d.datname
ORDER BY pg_database_size(d.datname) DESC;-- 表空间使用情况
SELECT spcname,pg_size_pretty(pg_tablespace_size(spcname)) AS size,pg_tablespace_location(oid) AS location
FROM pg_tablespace;

输出示例:

white=# SELECT 
white-#     d.datname AS database,
white-#     pg_size_pretty(pg_database_size(d.datname)) AS size,
white-#     pg_size_pretty(sum(pg_relation_size(c.oid))) AS data_size
white-# FROM pg_database d
white-# JOIN pg_class c ON c.relnamespace = d.oid
white-# WHERE c.relkind = 'r'
white-# GROUP BY d.datname
white-# ORDER BY pg_database_size(d.datname) DESC;database | size | data_size 
----------+------+-----------
(0 rows)white=# 
white=# SELECT 
white-#     spcname,
white-#     pg_size_pretty(pg_tablespace_size(spcname)) AS size,
white-#     pg_tablespace_location(oid) AS location
white-# FROM pg_tablespace;spcname   |  size   |   location   
------------+---------+--------------pg_default | 1804 MB | pg_global  | 597 kB  | test2      |         | /pgdir/test2test3      |         | /pgdir/test3
(4 rows)white=# 

3.2 I/O负载指标

-- 表IO统计 (需要pg_stat_statements扩展)
SELECT schemaname,relname,seq_scan,seq_tup_read,idx_scan,idx_tup_fetch,pg_size_pretty(pg_relation_size(relid)) AS size
FROM pg_stat_user_tables
ORDER BY seq_tup_read DESC
LIMIT 10;

输出示例:

white=# SELECT 
white-#     schemaname,
white-#     relname,
white-#     seq_scan,
white-#     seq_tup_read,
white-#     idx_scan,
white-#     idx_tup_fetch,
white-#     pg_size_pretty(pg_relation_size(relid)) AS size
white-# FROM pg_stat_user_tables
white-# ORDER BY seq_tup_read DESC
white-# LIMIT 10;schemaname |     relname      | seq_scan | seq_tup_read | idx_scan | idx_tup_fetch |    size    
------------+------------------+----------+--------------+----------+---------------+------------yewu1      | t1               |       11 |       100001 |        5 |             5 | 440 kByewu1      | t2               |        1 |        10000 |          |               | 440 kByewu1      | t3               |        9 |          630 |          |               | 8192 bytesyewu1      | test10           |        4 |            6 |          |               | 8192 bytespublic     | pgbench_tellers  |        0 |            0 |        0 |             0 | 8192 bytesyewu2      | t4               |        0 |            0 |        0 |             0 | 8192 bytesyewu1      | test5            |        0 |            0 |          |               | 0 bytespublic     | pgbench_branches |        0 |            0 |        0 |             0 | 8192 bytesyewu1      | test7            |        0 |            0 |        0 |             0 | 490 MByewu1      | test3            |        0 |            0 |          |               | 0 bytes
(10 rows)white=# 

四 查询与锁监控

4.1 慢查询识别

-- 使用pg_stat_statements扩展 (需提前安装)
SELECT query,calls,total_exec_time,mean_exec_time,rows,100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 20;

输出示例:

white=# SELECT 
white-#     query,
white-#     calls,
white-#     total_exec_time,
white-#     mean_exec_time,
white-#     rows,
white-#     100.0 * shared_blks_hit / nullif(shared_blks_hit + shared_blks_read, 0) AS hit_percent
white-# FROM pg_stat_statements
white-# ORDER BY total_exec_time DESC
white-# LIMIT 20;query                                |  calls  |  total_exec_time   |    mean_exec_time    |  rows   |     hit_percent      
--------------------------------------------------------------------+---------+--------------------+----------------------+---------+----------------------DO $$                                                             +|       2 | 118183.47813199999 |   59091.739065999995 |       0 |  99.9999951067743431DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test8 VALUES (aa,'white' || aa);        +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | select pg_backend_pid()                                            |       3 |        93277.79499 |          31092.59833 |       3 |                     select pg_backend_pid()                                            |       4 |       77014.163287 |       19253.54082175 |       4 |                     DO $$                                                             +|       2 | 58800.028212000005 |   29400.014106000002 |       0 | 100.0000000000000000DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test4 VALUES ('white ' || aa);          +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | DO $$                                                             +|       1 |       49685.024169 |         49685.024169 |       0 |  99.9999951067760191DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test7 VALUES (aa,'white' || aa);        +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | DO $$                                                             +|       1 |       49267.863302 |         49267.863302 |       0 | 100.0000000000000000DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test2 VALUES ('white ' || aa);          +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | DO $$                                                             +|       1 |       41309.762465 |         41309.762465 |       0 |  99.9999307490528696DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test1 VALUES ('white ' || aa);          +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | select $1                                                          |       2 | 37706.979766000004 |         18853.489883 |       2 |                     DO $$                                                             +|       1 |       27416.225248 |         27416.225248 |       0 | 100.0000000000000000DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test3 VALUES ('white ' || aa);          +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | DO $$                                                             +|       1 |         25163.0043 |           25163.0043 |       0 | 100.0000000000000000DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test6 VALUES ('white12345678');         +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | DO $$                                                             +|       1 |       22281.973981 |         22281.973981 |       0 | 100.0000000000000000DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..10000000 LOOP                                    +|         |                    |                      |         | INSERT INTO yewu1.test5 VALUES ('white12345678');         +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | INSERT INTO yewu1.t1 VALUES ($1, $2)                               | 1000000 |  21842.20592600089 | 0.021842205926000155 | 1000000 | 100.0000000000000000INSERT INTO public.pgbench_accounts VALUES ($1, $2, $3, $4)        | 1000000 |  21328.50800399963 |  0.02132850800400086 | 1000000 | 100.0000000000000000INSERT INTO public.pgbench_accounts VALUES ($1, $2, $3, $4)        | 1000000 | 20541.572565999446 |  0.02054157256600104 | 1000000 | 100.0000000000000000INSERT INTO public.pgbench_accounts VALUES ($1, $2, $3, $4)        | 1000000 | 11018.594005000135 | 0.011018594005000208 | 1000000 | 100.0000000000000000INSERT INTO yewu1.t1 VALUES ($1, $2)                               | 1000000 |  6577.947609999874 | 0.006577947610000384 | 1000000 | 100.0000000000000000INSERT INTO public.pgbench_history VALUES ($1, $2, $3, $4, $5, $6) |  267227 |   5081.26534200007 | 0.019014790204582223 |  267227 | 100.0000000000000000INSERT INTO public.pgbench_history VALUES ($1, $2, $3, $4, $5, $6) |  267227 | 3785.6832559999243 | 0.014166544757827429 |  267227 | 100.0000000000000000DO $$                                                             +|       1 |        3359.873687 |          3359.873687 |       0 |  99.9991112234700206DECLARE aa INTEGER;                                               +|         |                    |                      |         | BEGIN                                                             +|         |                    |                      |         | FOR aa IN 1..1000000 LOOP                                     +|         |                    |                      |         | INSERT INTO yewu1.t1 VALUES (aa,'white_' || aa);          +|         |                    |                      |         | END LOOP;                                                         +|         |                    |                      |         | COMMIT;                                                           +|         |                    |                      |         | END $$                                                             |         |                    |                      |         | INSERT INTO public.pgbench_history VALUES ($1, $2, $3, $4, $5, $6) |  267227 | 2205.2414340000396 | 0.008252315200185536 |  267227 | 100.0000000000000000
(20 rows)

4.2 锁等待分析

-- 阻塞关系视图
SELECT blocked_locks.pid AS blocked_pid,blocking_locks.pid AS blocking_pid,blocked_activity.query AS blocked_query,blocking_activity.query AS blocking_query,blocked_activity.wait_event_type,blocked_activity.wait_event
FROM pg_catalog.pg_locks blocked_locks
JOIN pg_catalog.pg_stat_activity blocked_activity ON blocked_activity.pid = blocked_locks.pid
JOIN pg_catalog.pg_locks blocking_locks ON blocking_locks.locktype = blocked_locks.locktypeAND blocking_locks.DATABASE IS NOT DISTINCT FROM blocked_locks.DATABASEAND blocking_locks.relation IS NOT DISTINCT FROM blocked_locks.relationAND blocking_locks.page IS NOT DISTINCT FROM blocked_locks.pageAND blocking_locks.tuple IS NOT DISTINCT FROM blocked_locks.tupleAND blocking_locks.virtualxid IS NOT DISTINCT FROM blocked_locks.virtualxidAND blocking_locks.transactionid IS NOT DISTINCT FROM blocked_locks.transactionidAND blocking_locks.classid IS NOT DISTINCT FROM blocked_locks.classidAND blocking_locks.objid IS NOT DISTINCT FROM blocked_locks.objidAND blocking_locks.objsubid IS NOT DISTINCT FROM blocked_locks.objsubidAND blocking_locks.pid != blocked_locks.pid
JOIN pg_catalog.pg_stat_activity blocking_activity ON blocking_activity.pid = blocking_locks.pid
WHERE NOT blocked_locks.GRANTED;

五 复制状态检查

5.1 主从复制监控

-- 主库复制状态
SELECT client_addr,usename,application_name,state,sync_state,pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), sent_lsn)) AS send_lag,pg_size_pretty(pg_wal_lsn_diff(sent_lsn, write_lsn)) AS write_lag,pg_size_pretty(pg_wal_lsn_diff(write_lsn, flush_lsn)) AS flush_lag,pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn)) AS total_lag
FROM pg_stat_replication;-- 从库状态检查
SELECT pg_is_in_recovery() AS is_standby,pg_last_wal_receive_lsn() AS received_lsn,pg_last_wal_replay_lsn() AS replayed_lsn,pg_last_xact_replay_timestamp() AS last_replay_time;

六 自动化检查脚本

6.1 综合健康检查脚本

#!/bin/bash
# PostgreSQL健康检查脚本check_items=("SELECT count(*) FROM pg_stat_activity WHERE state='active';|活跃会话数""SELECT count(*) FROM pg_stat_activity WHERE wait_event IS NOT NULL;|等待会话数""SELECT round(100*(sum(blks_hit)/sum(blks_hit+blks_read)::numeric,2) FROM pg_stat_database;|缓存命中率""SELECT count(*) FROM pg_stat_activity WHERE state='idle in transaction';|空闲事务数""SELECT max(age(backend_xmin)) FROM pg_stat_activity;|最老事务年龄"
)echo "PostgreSQL健康检查报告 - $(date)"
echo "================================="for item in "${check_items[@]}"; dosql=$(echo "$item" | cut -d'|' -f1)desc=$(echo "$item" | cut -d'|' -f2)result=$(psql -U postgres -t -c "$sql")printf "%-20s: %s\n" "$desc" "$result"
done

6.2 关键阈值告警

指标警告阈值严重阈值检查频率
连接数使用率80%90%5分钟
缓存命中率<95%<90%15分钟
复制延迟>1MB>10MB1分钟
最长事务>1小时>4小时30分钟

PostgreSQL 状态检查建议:

  1. 日常检查:连接数、缓存命中率、锁等待
  2. 深度检查:每月执行一次全面的存储分析和索引效率检查
  3. 紧急情况:当响应时间突增时,首先检查活跃查询和锁等待
  4. 预防性监控:设置关键指标的自动告警机制

通过系统化的状态检查,可以提前发现90%以上的潜在问题,建议将关键检查项目纳入日常运维流程。

谨记:心存敬畏,行有所止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用 Python 进行股票数据可视化分析

在金融市场中&#xff0c;股票数据的可视化分析对于投资者和分析师来说至关重要。通过可视化&#xff0c;我们可以更直观地观察股票价格的走势、交易量的变化以及不同股票之间的相关性等。 Python 作为一种功能强大的编程语言&#xff0c;拥有丰富的数据处理和可视化库&#xf…

时序约束高级进阶使用详解二:Set_Min_Delay

目录 一、前言 二、设计示例 2.1 示例代码 2.2 时序约束 三、Set_min_delay 3.1 start points 3.1.1 对象有效性 3.1.2 边沿有效性 3.1.3 start point非有效起点 3.2 Through points 3.2.1 约束对象为Cells 3.2.2 约束对象为Cell pin/Net 3.3 to points 3.4 rise…

2025-4-12-C++ 学习 XOR 三元组 异或 急转弯问题

C的学习必须更加精进一些&#xff0c;对于好多的函数和库的了解必须深入一些。 文章目录 3513. 不同 XOR 三元组的数目 I题解代码 3514. 不同 XOR 三元组的数目 II题解代码 晚上&#xff0c;10点半&#xff0c;参加了LC的竞赛&#xff0c;ok了一道&#xff0c;哈哈~   第二道…

图像形态学操作对比(Opencv)

形态学基于图像的形状进行操作&#xff0c;用于处理二值化图像&#xff0c;主要包括腐蚀和膨胀两种基本操作。这些操作通常用于去除噪声、分隔或连接相邻的元素以及寻找图像中显著的最大点和最小点。 1. 形态学操作 import cv2 import numpy as np import matplotlib.pyplot …

sql 向Java的映射

优化建议&#xff0c;可以在SQL中控制它的类型 在 MyBatis 中&#xff0c;如果返回值类型设置为 java.util.Map&#xff0c;默认情况下可以返回 多行多列的数据

excel中的VBA指令示例(一)

示例注释&#xff1a; Sub 宏1() sub是宏开头&#xff0c;宏1是宏的名称&#xff0c;自定义&#xff0c;在按钮中可指定用某个宏 后面是注释 Sheets("装配材料").Select ‘选择表 装配材料 Ce…

【Linux C】简单bash设计

主要功能 循环提示用户输入命令&#xff08;minibash$&#xff09;。创建子进程&#xff08;fork()&#xff09;执行命令&#xff08;execlp&#xff09;。父进程等待子进程结束&#xff08;waitpid&#xff09;。关键问题 参数处理缺失&#xff1a;scanf("%s", buf)…

【vue】基础

一、vi-if 1.1基本使用 必须绑定大盒子包住的代码&#xff0c;使用id或者class都可以进行绑定 new Vue({ el:"#id" el:".class" }) 1.2v-if和v-show的区别 v-show会渲染&#xff0c;但是不显示&#xff0c;v-if不渲染不显示 1.3vue实例的作用范围 必须包…

【数据结构_5】链表(模拟实现以及leetcode上链表相关的题目)

书接上文&#xff0c;继续编写链表的功能 4.链表的中间插入 在链表中&#xff0c;本身是没有下标这样的概念的&#xff0c;不像顺序表&#xff0c;顺序表根据下标访问元素&#xff0c;O(1)复杂度。链表需要遍历之后找到正确的位置才能进行插入&#xff0c;为O&#xff08;N&a…

C语言的发展史

一、起源 C语言的起源可以追溯到20世纪60年代末期。其前身是BCPL&#xff08;Basic Combined Programming Language&#xff09;语言&#xff0c;由剑桥大学的Martin Richards于1967年在CPL语言的基础上简化而来。1970年&#xff0c;美国贝尔实验室的Ken Thompson以BCPL语言为…

深入解析栈式虚拟机与反向波兰表示法

1.1 什么是虚拟机&#xff1f; 虚拟机&#xff08;Virtual Machine, VM&#xff09;是一种软件实现的计算机系统&#xff0c;提供与物理计算机相类似的环境&#xff0c;但在软件层面运行。虚拟机的存在简化了跨平台兼容性、资源管理以及安全隔离等问题。 1.2 栈式虚拟机的架构…

ubuntu 系统安装Mysql

安装 mysql sudo apt update sudo apt install mysql-server 启动服务 sudo systemctl start mysql 设置为开机自启 sudo systemctl enable mysql 查看服务状态 &#xff08;看到类似“active (running)”的状态信息代表成功&#xff09; sudo systemctl status mysql …

《前端面试题之 CSS篇(第一集)》

目录 1、CSS的盒模型2、CSS选择器及其优先级3、隐藏元素的方法有那些4、px、em、rem的区别及使用场景5、重排、重绘有什么区别6、水平垂直居中的实现7、CSS中可继承与不可继承属性有哪些8、Sass、Less 是什么&#xff1f;为什么要使用他们&#xff1f;9、CSS预处理器/后处理器是…

HTTP:四.HTTP连接

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本数据的应用层协议。它是互联网上最常用的协议,用于在客户端和服务器之间传输数据。HTTP协议通常用于从Web服务器传输网页和文件到客户端浏览器,并支持其他用途,如传输API数据和传输文件。 HTTP连接是指客户端向服务…

opencv 识别运动物体

import cv2 import numpy as npcap cv2.VideoCapture(video.mp4) try:import cv2backSub cv2.createBackgroundSubtractorMOG2() except AttributeError:backSub cv2.bgsegm.createBackgroundSubtractorMOG()#形态学kernel kernel cv2.getStructuringElement(cv2.MORPH_REC…

要查看 ​​指定 Pod 的资源限制(CPU/内存)

要查看 指定 Pod 的资源限制&#xff08;CPU/内存&#xff09;&#xff0c;可以通过以下 kubectl 命令实现&#xff1a; 1. 快速查看某个 Pod 的资源限制 kubectl get pod <pod-name> -o jsonpath{.spec.containers[*].resources} | jq输出示例&#xff1a; {"lim…

信息安全管理与评估广东省2023省赛正式赛题

任务1&#xff1a;网络平台搭建(60分) 题号 网络需求 1 根据网络拓扑图所示&#xff0c;按照IP地址参数表&#xff0c;对DCFW的名称、各接口IP地址进行配置。&#xff08;10分&#xff09; 2 根据网络拓扑图所示&#xff0c;按照IP地址参数表&#xff0c;对DCRS的名称进…

IBM Rational Software Architect安装感受及使用初体验

1 安装感受 最近准备用UML 2.0绘制模型图。在读UML创始人之一Grady Booch写的书《Object-Oriented Analysis and Design with Applications》&#xff08;第3版&#xff09;1时&#xff0c;发现书中用的UML工具之一为IBM Rational Software Architect&#xff08;RSA&#xff…

接听电话,手机靠近耳朵后拿开,挂断电话,设备自动锁屏

目录 一、问题分析/需求分析 二、解决方案 一、问题分析/需求分析 先说一下大致流程: 首先是打电话过程会启动PROXIMITY(接近光传感器)用于监听手机是否到耳边,当手机到耳边时进行灭屏处理,灭屏过程中会调用到锁屏,所以最终会导致锁屏 详细流程分析: 首先根据日志看…

21天Python计划:零障碍学语法(更新完毕)

目录 序号标题链接day1Python下载和开发工具介绍https://blog.csdn.net/XiaoRungen/article/details/146583769?spm1001.2014.3001.5501day2数据类型、字符编码、文件处理https://blog.csdn.net/XiaoRungen/article/details/146603325?spm1011.2415.3001.5331day3基础语法与…