关于sort_area_size

博客围绕Oracle数据库展开,探讨了sort_area_retained_size设置理由及64k的由来,明确sort_area_size所属内存区域,指出其在不同模式下的位置。还讨论了每个session用户对sort_area_size的分配情况,根据不同业务类型给出了参数设置建议。

1。sort_area_retained_size 一定要设置的理由是什么?64k的来由?
这个参数的设置就是保证在sort_area_size比较大但不继续使用的时候能回缩到这个值

2。sort_area_size 应该属于PGA吧,PGA+SGA应该是ORACLE占用的总内存吧?
sort_area_size属于uga,uga在mts下在large_pool_size里面,非mts下uga在pga里面

3。每个session 用户都会分配 sort_area_size 吗? 还是只有 sort 时才会分配。

每个session都分配,但不会一下子就很大,根据需要扩展。如果没有1中的设置就只能增加不能减小

于oltp类型,一般几百k也就ok了,还可以设置 sort_area_retained_size为64k

对于成批处理的,能在session一级单独设置最好了

否则
比如如果有200session
但内存4G
sga假设一共2G
没有其他负债
则可以考虑高峰值为 1G/200= 5M

一定设置sort_area_retained_size

# Untitled - By: 黎清华 - Thu Jul 31 2025 import sensor import time import math # 设置VGA画面,并裁剪中间的画面 sensor.reset() sensor.set_pixformat(sensor.GRAYSCALE) sensor.set_framesize(sensor.VGA) sensor.set_windowing((200,240)) sensor.skip_frames(time=2000) clock = time.clock() # Tracks FPS. CENTER_X = 200//2 CENTER_Y = 240//2 # 已知目标正方形的实际边长(单位:毫米) KNOWN_WIDTH = 290.0 # 标定后的摄像头焦距(单位:像素) FOCAL_LENGTH = 640 # 二值化阈值 BINARY_THRESHOLD = [(0, 70)] # 筛选出面积变化最小的正方形 def find_smallest_square_by_area_variation(blobs, threshold=100): area_variations = [] for i, blob in enumerate(blobs): if blob.area() < threshold: continue area_diff = 0 for other_blob in blobs: if other_blob != blob: overlap_area = max(0, min(blob.x() + blob.w(), other_blob.x() + other_blob.w()) - max(blob.x(), other_blob.x())) * \ max(0, min(blob.y() + blob.h(), other_blob.y() + other_blob.h()) - max(blob.y(), other_blob.y())) if overlap_area > 0: area_diff += overlap_area area_variations.append((blob, area_diff)) area_variations.sort(key=lambda x: x[1]) if area_variations: return area_variations[0][0] return None # 计算距离 def calculate_distance(pixel_width): if pixel_width == 0: return float('inf') return (FOCAL_LENGTH * KNOWN_WIDTH) / pixel_width buffer = [] while True: clock.tick() img = sensor.snapshot() img.binary(BINARY_THRESHOLD) blobs = img.find_blobs([(0, 255)], merge=True) square = find_smallest_square_by_area_variation(blobs) if square: img.draw_rectangle(square.rect(), color=(255, 0, 0)) side_length = min(square.w(), square.h()) distance = calculate_distance(side_length) buffer.append((side_length, distance)) img.draw_string(square.x(), square.y() - 10, "L: {:.2f} D: {:.2f}".format(side_length, distance), color=(255, 0, 0)) print("最小正方形边长: {} 像素, 这个代码测不出最小正方形的边长,可以在这基础上改一下吗
最新发布
08-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值