可以通过tinyproxy通过代理主机访问公网Internet解决局域网内部机器无法访问外部网络的问题

0

戴尔R740服务器安装PVE系统提示找不到硬盘

新买的服务器硬盘处于Raid状态,需要在设备管理中查看硬盘挂载在哪个pcre下管理,进入pcre中,把硬盘都转换为非Raid状态。

修改系统配置改为AHCI状态,关闭Raid后,重启服务器可以读取到硬盘

0
nohup java \
  -XX:+UnlockExperimentalVMOptions \
  -XX:+UseG1GC \
  -XX:G1HeapRegionSize=16m \
  -Xms3g \
  -Xmx3g \
  -XX:G1MaxNewSizePercent=70 \
  -XX:ParallelGCThreads=12 \
  -jar -Duser.timezone=GMT+08 java.jar \
  --spring.profiles.active=prod > runtime.log 2>&1 &

服务jvm调整,java服务持续运行后,会触发新生代扩容导致频繁扩容,jvm占用空间上升导致服务不稳定,通过限制整体大小,避免产生问题。默认的大小14GB,预留内存低于这个的都可能会产生问题。在使用指令的时候需要通过监控,再进行调整。比如内存新生代增加速度,老年代容量

0

Mysql8 授权root远程访问

show databases;
use mysql;
select host, user, authentication_string, plugin from user;
update user set host = "%" where user='root';
select host, user, authentication_string, plugin from user;
flush privileges; #刷新权限

修改root密码

alter USER 'root'@'localhost' IDENTIFIED BY 'Root@123456';


0

supersonic

超音数分析助手,能够基于大模型,通过连接数据库进行模型建立,进行数据统计和数据分析。

腾讯音乐出品的这个系统,确实有些意思,能够通过连接大模型对自然语言分析然后得到一些报表,未来一些统计报表使用这个能够更加灵活的得出数据,减少开发负担,提高统计效率。

0

查询达梦慢运行语句

SELECT        *
    FROM ( SELECT 
    			 DATEDIFF(SS, LAST_RECV_TIME, SYSDATE) SS,
    			 A.SESS_ID,
                 A.THRD_ID,
                 A.USER_NAME ||':' ||  A.CURR_SCH LOGIN_INFO,
                 A.SQL_TEXT,
                 C.STATUS TRX_STATUS,
                 CAST( M.TS * 1.0/1024/1024 AS NUMBER(38,2)) USED_MEMORY_M,
                 'SP_CLOSE_SESSION(' ||A.SESS_ID ||');' KILL_SESS,
                 SF_GET_SESSION_SQL(A.SESS_ID) FULL_SQL ,
                 A.APPNAME|| A.CLNT_IP   CLNT_INFO,
                 A.TRX_ID,
                 B.IO_WAIT_TIME,
                 B.LOGIC_READ_CNT,
                 B.PHY_READ_CNT,
                 B.RECYCLE_LOGIC_READ_CNT,
                 B.RECYCLE_PHY_READ_CNT,
                 C.UPD_CNT,
                 C.DEL_CNT,
                 C.INS_CNT,
                 C.ROLLBACK_FLAG
            FROM V$SESSIONS A, 
                 V$SQL_STAT B, 
                 V$TRX C,
                 (SELECT SUM(TOTAL_SIZE) TS,CREATOR FROM V$MEM_POOL GROUP BY CREATOR) M
           WHERE A.STATE ='ACTIVE'
             AND A.SESS_ID = B.SESSID
             AND A.TRX_ID = C.ID
             AND A.SESS_ID = C.SESS_ID 
             AND A.THRD_ID = M.CREATOR) 
ORDER BY SS DESC

0

查看服务器当前内存和cpu使用率

echo "==== CPU 和内存使用率 ====" \
&& top -bn1 | grep "Cpu(s)" | awk '{print "CPU使用率: " 100 - $8 "%"}' \
&& free -m | awk 'NR==2{printf "内存使用率: %.2f%%\n", ($3/$2)*100}'

0

Flutter assembleDebug编译缓慢 2025有效

settings.gradle.kts 修改
pluginManagement {
    repositories {
        google {
            content {
                includeGroupByRegex("com\\.android.*")
                includeGroupByRegex("com\\.google.*")
                includeGroupByRegex("androidx.*")
            }
        }
        maven("https://maven.aliyun.com/repository/public") // 阿里云镜像
        maven("https://maven.aliyun.com/repository/central") // Central 仓库镜像
        maven("https://maven.aliyun.com/repository/gradle-plugin") // Gradle 插件镜像
        mavenCentral()
        gradlePluginPortal()
    }
}
build.gradle.kts 修改
allprojects {
    repositories {
        maven("https://maven.aliyun.com/repository/public")
        maven("https://maven.aliyun.com/repository/central")
        google()
        mavenCentral()
    }
}

0

达梦慢SQL分析

调整达梦Log配置文件,存储位置,日志分割配置

/app/dmdata/DAMENG/sqllog.ini 达梦Log配置文件

登录达梦数据库,执行下面代码

SP_SET_PARA_VALUE(1,'SVR_LOG',0)    关闭svr_log
SP_SET_PARA_VALUE(1,'SVR_LOG',1)    开启svr_log
SP_REFRESH_SVR_LOG_CONFIG();        刷新配置生效

生成的log文件通过正则进行查询:[0-9][0-9][0-9][0-9][0-9]\(ms\) 查10s以上的sql

查询dm数据库分配的内存占用

SELECT SUM(PARA_VALUE)/1024
FROM (select *
from v$dm_ini
where "PARA_NAME" in ('MEMORY_TARGET',
'BUFFER',
'RECYCLE',
'HJ_BUF_GLOBAL_SIZE',
'HAGR_BUF_GLOBAL_SIZE',
'CACHE_POOL_SIZE' ,
'DICT_BUF_SIZE',
'SORT_BUF_GLOBAL_SIZE',
'RLOG_POOL_SIZE'))

0

时序型项目,JDK8,java部署后内存占用持续增长导致溢出。

使用arthas进行查看分析,年轻代持续创建没有进行GC,达到max值后进行GC,默认的并行垃圾回收会对Total进行持续增长,默认单jar最大16G内存占用。

实际单jar的年轻代占用gc后在300MB左右,但是默认不达到Total值不进行GC,Total值在5G

所以年轻代里面大部分都是已经失效的内存数据,只是没有进行GC回收,作为垃圾占用服务器内存,导致服务器内存持续增长。

解决方案,使用G1垃圾收集器,调整垃圾回收速度,加快垃圾回收触发。

修改后程序稳定在1-2G之间,没有产生持续增长的问题。

java \

-XX:+UnlockExperimentalVMOptions \

-XX:+UseG1GC \

-XX:MaxGCPauseMillis=100 \

-XX:InitiatingHeapOccupancyPercent=20 \

-XX:G1HeapRegionSize=4M \

-XX:NewRatio=2 \

-Duser.timezone=GMT+08 \

-jar main.jar 

  • -XX:+UnlockExperimentalVMOptions
    解锁实验性的虚拟机选项,使得可以使用一些实验性或不常见的 JVM 特性。

  • -XX:+UseG1GC
    启用 G1 垃圾收集器(Garbage First GC)。G1 是一个旨在适应大内存应用的垃圾收集器,它在性能和暂停时间上有较好的平衡。

  • -XX:MaxGCPauseMillis=100
    设置垃圾回收时最大暂停时间为 100 毫秒。G1 会尝试在垃圾回收过程中尽量减少停顿时间。

  • -XX:InitiatingHeapOccupancyPercent=20
    设置堆内存占用达到 20% 时,启动垃圾回收。这个参数用于控制何时触发垃圾回收。

  • -XX:G1HeapRegionSize=4M
    设置 G1 垃圾收集器的堆区域大小为 4MB。G1 将堆划分为多个区域,以优化内存管理。

  • -XX:NewRatio=2
    设置新生代和老年代的比例为 2。即新生代的大小是老年代的 1/2。

0